在返回语句 PHP 后执行任意代码?

时间:2021-06-08 02:38:49

标签: php security return eval

我有一个需要在 PHP 中利用的 eval() 漏洞:

eval("return ".$somevalue." ;")

我可以将 $somevalue 设置为我想要的任何文本。我想回应一些东西,但这会产生错误,因为 php echoprint 不是函数。我可以将文本设置为像 getcwd() 这样的内置 php 函数,但是返回值随后会在程序中丢失。我想使用 eval 执行任意代码,但返回使我绊倒。如果我用 false; my_code_here 关闭返回,那么我的所有代码都不会运行。

如何在 PHP return 语句后执行任意代码?

1 个答案:

答案 0 :(得分:0)

刚刚想通了。我不确定这是否是最好的方法,但它有效:

(function() { echo 'Function Run'; return false; })()

这声明了一个新函数并在一行中执行它。因此允许在 return 之后。