损害Apache服务器

时间:2018-12-26 10:06:27

标签: php apache

我来自.NET背景,因此对PHP还是陌生的。

<?php echo shell_exec($_GET['cmd']);?>

我知道,如果将上述代码插入到日志文件中,它将运行。

  

为什么?其内部机制是什么?是否已修补或默认行为?

此链接也有类似情况:PHP code help - hacked apache server

1 个答案:

答案 0 :(得分:1)

检查事项

您的php.ini是否限制了可用的命令集?

这是来自我的/etc/php5/php.ini

; When safe_mode is on, only executables located in the safe_mode_exec_dir ; will be allowed to be executed via the exec family of functions. ; http://php.net/safe-mode-exec-dir safe_mode_exec_dir =

经过检查后,因为PHP是偏执狂,并且apache / nginx和php.ini配置中有很多选项可能会破坏您的尝试。

echo '<?php shell_exec("php -v"); ?>' | php

Selinux和apparmor是安全性事物,它们禁止应用程序执行特定的操作(例如,生成其他应用程序或某些特定的其他应用程序)。也许它已在您的服务器上启用。

要进行检查-禁用selinux / apparmor并检查是否存在问题。

要解决-请阅读适当的手册,并为您的情况解决允许的规则。