3

这是我的代码

$file = $_GET['file'];
include "$file.html";

当我传递这样的 URL 时: test.php?file=sample.php%00由于空字节注入,文件 sample.php 应该包含在内。但相反,我收到一个错误: Failed opening 'sample.php' for inclusion.

我检查了文件路径并尝试给它绝对路径。

我在 Windows 上使用 PHP 5.3.8 版。我在这里想念什么?谢谢

4

2 回答 2

5

从5.3.4开始修复了空字节字符串漏洞。这就是为什么它不适用于您的 5.3.8。

于 2013-10-23T22:09:06.690 回答
1

magic_quotes_gpc启用了吗?该设置节省了每个人的追尾,因为它转义了空字节(该设置从 5.4 开始被删除)。

于 2012-12-07T15:59:24.653 回答