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

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

我的服务器上正在发生严重的 HTTP 和 SSH 攻击。其中大多数是暴力密码检查或尝试检索 /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、备用端口(如果可能)、定期软件更新和定期日志文件检查来保护它们。(下一步是定期检查弱密码并采用某种入侵检测机制)

答案1

这是一次 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 命令行解释器,并可能允许攻击者覆盖特定的 PHP 配置。在本例中,关键修改之一是指定“auto_prepend_file=php://input”,这将允许攻击者在请求正文中发送 PHP 代码。

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

答案2

这似乎是一种常见的攻击,他们似乎试图注入 cgi 命令。请购买 IDS 或 HIDS。当发现恶意字符串时,它们可以自动通知您或阻止流量。

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

确保追踪违规者,如果这种情况只是偶尔发生,那么它就是常见的互联网背景噪音。

相关内容