您的当前位置:首页 > 知识 > phpinfo信息泄露漏洞 正文

phpinfo信息泄露漏洞

时间:2026-10-17 04:33:36 来源:网络整理 编辑:知识

核心提示

一个偶然的下午,我对着一个测试站点随手键入了phpinfo.php,页面弹出了完整的PHP配置表。版本号、绝对路径、扩展模块、环境变量,甚至服务器IP都躺在那里,像一本摊开的日记。没人锁门,就这么让我

一个偶然的信息泄下午,我对着一个测试站点随手键入了phpinfo.php,露漏页面弹出了完整的信息泄PHP配置表。版本号、露漏绝对路径、信息泄扩展模块、露漏环境变量,信息泄甚至服务器IP都躺在那里,露漏像一本摊开的信息泄日记。没人锁门,露漏就这么让我看完了全部家底。信息泄

这不是露漏什么高深的黑客技巧,只是信息泄路径探测的常规动作。但真正让我脊背发凉的露漏,是信息泄这类页面在公网上的存活率——每扫一百个PHP站点,至少有三五个会响应这个请求。它们有的藏在备份目录里,有的就大大方方放在根目录,文件名还带着phpinfo的字样,生怕别人找不到。

漏洞本身没什么技术含量。PHP官方文档明确写着,phpinfo()是调试函数,输出大量敏感信息。问题在于,很多开发者在部署后忘了删掉测试脚本,或者干脆把探针文件当成了运维工具留着。你问他们为什么留着?答案五花八门:方便查扩展是否加载、看内存限制够不够、甚至有人觉得这能证明服务器“健康”。

可对攻击者来说,这份信息泄露就是拼图的第一块。我看到过一份真实的攻击链报告——入侵者先通过phpinfo获取了session.save_path的具体位置,接着结合一个文件上传漏洞,把会话文件写到可预测的路径,最终绕过了身份验证。整个过程干净利落,每一步都踩在phpinfo给出的地图上。

更微妙的是,phpinfo还会暴露真实路径。很多WAF规则依赖路径匹配来拦截恶意请求,可一旦攻击者知道了/var/www/html这样的绝对路径,就能构造出绕过路径归一化的请求。还有那些加载了危险扩展的环境——如果开着expect模块,配合一个命令注入点,phpinfo就成了帮凶,让你知道攻击面到底有多宽。

别指望扫描器能帮你全找出来。有些phpinfo页面藏在带随机数的目录里,或者伪装成index.php?action=info这样的参数触发。更阴险的做法是,攻击者上传一个合法的探针文件,用自己的phpinfo页面来探测你的内网拓扑——这时候你连文件都查不到,因为它是“正常”业务代码的一部分。

我有个偏执的习惯:每次部署完PHP应用,都会用curl批量请求常见路径,phpinfo.php、info.php、test.php这些名字翻来覆去地试。如果发现响应里含有PHP Version字样,立刻删掉文件,然后在Nginx层加一条规则:所有包含phpinfo的请求直接返回404。但说实话,这只能防住懒人,防不住有心人——他们总有办法把探针藏到你意想不到的角落。

最讽刺的是,有些云厂商的默认镜像里就带着phpinfo页面,美其名曰“环境验证工具”。新人在云控制台一键部署完,压根不知道这个文件的存在。直到某天日志里出现大量访问记录,才发现服务器早成了别人的信息仓库。

删掉它,就现在。别等出事那天再后悔——毕竟,你永远不知道哪个角落的phpinfo页面,正在为下一场攻击铺路。