最新版官方网站下载,文件名为phpMyAdmin-4.8.1-all-languages.zip
问题在于 /index.php
找55~63行
第61行出现 包括$ _REQUEST ['target'];
显然这是LFI的前身,我们只需要...
最新版官方网站下载,文件名为phpMyAdmin-4.8.1-all-languages.zip
问题在于 /index.php
找55~63行

第61行出现 包括$ _REQUEST ['target'];
显然这是LFI的前身,我们只需要绕过55~59的限制。
第57行限制目标参数不能以索引开头
第58行限制目标参数不能出现在$ target_blacklist中
找到 $ target_blacklist 的定义:

就在 /index.php 的第50行
只要目标参数不是import.php或export.php,最后一个限制是Core: checkPageValidity($ _ REQUEST ['target'])
找到Core类的checkPageValidity方法:

定义在 librariesclassescore.php 的第443行
问题发生在 urldecode()行 465 上
我们可以使用此功能绕过白名单检测!
我可以编码 两次编码 %253f 绕过验证!
有效载荷:
http://127.0.0.1/phpmyadmin/index.php?target=db_sql.php%253f/././././././windows/wininit.ini

我认为漏洞结束了,因为我找不到phpmyadmin可以执行文件操作来实现Getshell的地方。几个星期后,我的灵感来自于在没有编写文件的情况下获取shell的想法。
我们都知道登录到phpmyadmin后,数据库是完全可控的。我们可以将WebShell写入数据库然后包含数据库文件吗?
我在本地测试它,发现如果将WebShell用作数据表的字段值,它可以完美地写入数据库文件:

找到相应的数据库文件:

包含:

有效载荷:
http://127.0.0.1/phpmyadmin/index.php?a=phpinfo();&target=db_sql.php%253f/././././././phpStudy/PHPTutorial/MySQL /data/hack/hack.frm
作者: ChaMd5安全团队
黑客业务列表介绍和一般分类:
类别:攻击入侵破解开发
1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量]
2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。
3:破解业务类:软件,加密文件,二次打包,脱壳等。
4:二次开发业务清单:软件二次开发,源代码二次开发等
5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等
备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明
注意:仅接受正式业务,个人无权接受。收集此内容。