我有一个需要在 PHP 中利用的 eval() 漏洞:
eval("return ".$somevalue." ;")
我可以将 $somevalue
设置为我想要的任何文本。我想回应一些东西,但这会产生错误,因为 php echo
和 print
不是函数。我可以将文本设置为像 getcwd() 这样的内置 php 函数,但是返回值随后会在程序中丢失。我想使用 eval 执行任意代码,但返回使我绊倒。如果我用 false; my_code_here
关闭返回,那么我的所有代码都不会运行。
如何在 PHP return 语句后执行任意代码?
答案 0 :(得分:0)
刚刚想通了。我不确定这是否是最好的方法,但它有效:
(function() { echo 'Function Run'; return false; })()
这声明了一个新函数并在一行中执行它。因此允许在 return
之后。