标签: php exploit
我使用以下代码:
$data = json_decode($_GET["payload"]); $env = $data->env; putenv("MYENV=".$env);
但是这个功能正在被利用。我不知道怎么做。攻击者可以在我的机器上执行任何代码(Windows)。
有人知道这是可行的或如何解决它?
答案 0 :(得分:0)
这称为ShellShock漏洞。如果包含{ :;};,它基本上执行攻击者想要的任何代码。例如
{ :;};
MYENV="{ :; }"; /bin/eject
将导致在Linux上弹出dvdrom驱动器。事实上,这里任何事都有可能。
来源:
答案 1 :(得分:0)
因为某些环境变量像linux上的LD_PRELOAD一样危险。 一般来说,这不仅仅取决于putenv,而是取决于代码中的其他可能的漏洞(例如,如果你通过环境执行某些使用魔法配置的东西,这可能会导致漏洞利用)