MOON
Server: Apache
System: Linux cl1170g 4.19.62-mod-std-ipv6-64-rescue #828825 SMP Tue Jul 30 13:54:49 UTC 2019 x86_64
User: wh0f20bb (1057)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //proc/thread-self/root/root/webmin-1.881/mysql/save_root.cgi
#!/usr/bin/perl
# Update the password for root, both in MySQL and Webmin

require './mysql-lib.pl';
&ReadParse();
&error_setup($text{'root_err'});
$access{'perms'} == 1 || &error($text{'perms_ecannot'});

# Validate inputs
$in{'newpass1'} || &error($text{'root_epass1'});
$in{'newpass1'} eq $in{'newpass2'} || &error($text{'root_epass2'});
$in{'newpass1'} =~ /\\/ && &error($text{'user_eslash'});

# Update MySQL
$esc = &escapestr($in{'newpass1'});
$user = $mysql_login || "root";
$d = &execute_sql_safe($master_db,
	"select host from user where user = ?", $user);
@hosts = map { $_->[0] } @{$d->{'data'}};
foreach my $host (@hosts) {
	$sql = "set password for '".$user."'\@'".$host."' = ".
	       "$password_func('$esc')";
	eval {
		local $main::error_must_die = 1;
		&execute_sql_logged($master_db, $sql);
		};
	if ($@) {
		# Try again with the new password
		local $config{'pass'} = $in{'newpass1'};
		&execute_sql_logged($master_db, $sql);
		}
	}

# Update webmin
$config{'pass'} = $in{'newpass1'};
&lock_file($module_config_file);
&save_module_config();
&unlock_file($module_config_file);

&webmin_log("root");
&redirect("");