我正在研究Web服务器的一些漏洞,并且发现了一个可以注入一些php代码的断言。 我发现以下代码
assert(file_get_contents('file.txt') !== null)
按我的预期工作:file_get_contents()
被执行,其结果在断言中传递。但是,如果我失败了
assert(file_get_contents('file.txt') === null)
file_get_contents()
的结果不会被解释,因此不会显示在错误消息中。
Warning: assert(): assert(file_get_contents('file.txt') === null) failed in /Applications/MAMP/htdocs/test/assert.php on line 3
假设我只能在断言中做到这一点,有人知道我如何获取文件内容吗?
答案 0 :(得分:0)
对于那些想知道如何实现的人,我找到了解决方案。 file_get_contents()
不会直接显示文件的内容,您必须echo
才能显示它。
但是,功能readfile()
完美地实现了它,它只是直接显示文件的内容。
因此只需调用assert即可:
assert(readfile('file.txt') === null)