这是我的代码
$file = $_GET['file'];
include "$file.html";
现在当我传递这样的网址时:
test.php?file=sample.php%00
,
由于空字节注入,应该包含文件sample.php。但我得到一个错误:Failed opening 'sample.php' for inclusion
。
我检查了文件路径,并尝试给出绝对路径。
我在Windows上使用php版本5.3.8。我在这里失踪的是什么?(我相信它一定是傻事!)谢谢
答案 0 :(得分:4)
自5.3.4起,空字节字符串漏洞为fixed。这就是为什么它不能用于你的5.3.8。
答案 1 :(得分:1)
你有magic_quotes_gpc
吗?该设置正在保存每个人的重新报告,因为它会转义空字节(自5.4以来该设置被删除)。