What?
这是一款基于正则匹配的phpinfo信息收集工具,项目地址如下:
-
https://github.com/LxxxSec/HackPhpinfo
主要解决以下痛点:
-
CTF比赛中可能会有phpinfo页面泄露,而出题人的考点通常在某个扩展中,phpinfo过多的信息可能会导致选手落下某个关键信息
如有师傅们喜欢,点个Star再走
注意
-
本项目仅用于学习交流,请勿用于非法用途
-
如用于非法用法,产生的后果与本项目无关
How to use?
工具很简单,使用bs4解析phpinfo页面,存储phpinfo页面中设置的值,接着用规则去匹配,如果匹配成功则输出匹配结果
使用下方pip命令安装bs4即可
pip3 install beautifulsoup4
本工具使用curl请求页面,通常来说Windows和unix都自带了curl,如果在比赛过程中需要POST或者Header传额外参数才能得到phpinfo页面,可以自行参考curl的用法
使用方法也很简单:
-
在第一个参数中传入curl命令即可,记得用双引号引起来
python3 HackPhpinfo.py "curl http://127.0.0.1/phpinfo.php"
How to expand?
工具的核心在rules.json规则,目前支持检测以下规则:
-
gettext
-
allow_url_include
-
opcache
-
auto_append_file
-
auto_prepend_file
-
FLAG
-
网站根目录
-
PHP版本
-
imagick扩展
-
当前用户
-
phar.readonly
-
disable_functions
如果有更多需要的规则,欢迎提issue补充~
规则编写说明如下:
-
2为规则编号
-
name为规则名称
-
regex中可以编写规则,e和v都支持python正则表达式
-
message表示探测到之后需要输出信息
-
level表示输出的等级(字体颜色),目前包括:红色、绿色、蓝色。其中红色为警告,绿色比蓝色输出更重要
"2": {
"name": "allow_url_include",
"regexes": {
"regex1": {
"e": "^allow_url_include$",
"v": "On|1"
}
},
"message": "allow_url_include为On状态,可以远程文件包含",
"level": "green"
}
PS
如果有无法正常解析phpinfo的情况,可以提issue发以下信息排查:
-
PHP版本
-
操作系统
目前测试了以下几个PHP版本都是可以正常解析的
-
7.3.10
-
5.4.45
-
5.6.40
-
7.4.5
免责声明
该工具仅供学习和参考。因用于其他用途而产生不良后果,作者不承担任何法律责任。
本工具仅能在取得足够合法授权的企业安全建设中使用,在使用本工具过程中,您应确保自己所有行为符合当地的法律法规。如您在使用本工具的过程中存在任何非法行为,您将自行承担所有后果,本工具所有开发者和所有贡献者不承担任何法律及连带责任。除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要安装并使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。
关注我们获取更多自研工具
原文始发于微信公众号(7coinSec):HackPhpInfo - phpinfo信息收集工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论