我如何解译这个HTTP PHP请求?

在我的服务器上,我有严重的HTTP运行SSH攻击。 他们大多数是powershell密码检查或企图/ etc / passwd检索。 但其中一些尝试通过插件系统启动bash或执行奇怪的请求。 看着我的Apache服务器的日志文件,我有这样的行(没有换行符):

POST /cgi-bin/php4?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D %6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69 %6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66 %75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D %6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68 %70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72 %65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73 %5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 301 1718 "-" "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/636.26(KHTML, like Gecko) Version/6.0 Mobile/10B5355d Safari/8636.25 

通过URL解码,我得到了这个:

 "POST /cgi-bin/php4?-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -n HTTP/1.1" 301 1718 "-" "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/636.26(KHTML, like Gecko) Version/6.0 Mobile/10B5355d Safari/8636.25" 

但是它试图做什么? 由于这是一个POST请求,有没有办法查看哪些数据已经提交了?

我的安全措施如下:禁用我不需要的所有服务,对于我真正需要的服务,使用fail2ban,备用端口(如果可能),常规软件更新和常规日志文件检查来保护它们。 (接下来的步骤是定期检查弱密码,并采取某种入侵检测机制)

这是一个PHP-CGI攻击。

 -d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -n 

上述部分数据将被错误地传递给PHP命令行解释器,并可能允许攻击者覆盖特定的PHPconfiguration。 在这种情况下,其中一个关键的修改是指定“auto_prepend_file = php:// input”,这将允许攻击者在请求主体中发送PHP代码。

REF: http : //blog.spiderlabs.com/2013/11/honeypot-alert-more-php-cgi-scanning-apache-magikac.html

这似乎是一个普遍的攻击,他们似乎试图注入CGI命令。 给自己一个IDS或HIDS。 当看到恶意string时,这些可以自动通知您或阻止stream量。

还要确保尽可能地硬化您的系统,尽可能降低您的信息占用空间。

确保跟踪犯罪者,如果这偶然发生,这是常见的互联网背景噪音。