我的大脑已经停止工作,我真的想把它结合起来:
我想在网站上获取输入,将其保存在一个变量中,并将其调用到Linux shell以生成命令。
这是我所拥有的:
<form action="action.php" method="post">
<p>Kommando: <input type="text" name="cmd" /></p>
<p><input type="submit" /></p>
</form>
<?php
$output = shell_exec($command);
echo "<pre>$output</pre>";
?>
您需要使用$_POST['cmd']
,而不是$command
。脚本中没有名为$command
的变量。
请注意: 这非常不安全。在将命令传递到shell之前,您需要对其进行大量验证,否则将面临各种可怕的糟糕黑客攻击的风险。
请阅读有关命令注入攻击的信息,永远不要将任何您不能100%确信安全的东西传递给shell。这意味着您需要同时执行白名单和黑名单,并且您可能需要一个好的WAF(web应用程序防火墙)来备份您。理想情况下,除了从几个预定义的命令中选择一个之外,您根本不会使用用户的输入。