是否存在putenv()漏洞?

时间:2017-05-11 09:01:11

标签: php exploit

我使用以下代码:

$data = json_decode($_GET["payload"]);
$env = $data->env;

putenv("MYENV=".$env);

但是这个功能正在被利用。我不知道怎么做。攻击者可以在我的机器上执行任何代码(Windows)。

有人知道这是可行的或如何解决它?

2 个答案:

答案 0 :(得分:0)

这称为ShellShock漏洞。如果包含{ :;};,它基本上执行攻击者想要的任何代码。例如

MYENV="{ :; }"; /bin/eject

将导致在Linux上弹出dvdrom驱动器。事实上,这里任何事都有可能。

来源:

答案 1 :(得分:0)

因为某些环境变量像linux上的LD_PRELOAD一样危险。 一般来说,这不仅仅取决于putenv,而是取决于代码中的其他可能的漏洞(例如,如果你通过环境执行某些使用魔法配置的东西,这可能会导致漏洞利用)