任何人都可以解释这个PHP代码注入攻击给我?

Nat*_*e B 10 php security code-injection

我一直在服务器上收到意外网址的请求.

特别是一个 /%70%68%70%70%61%74%68/%70%68%70?%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%6E

这似乎每隔几个小时就会发生一次.

我通过http://www.url-encode-decode.com/运行了网址,结果如下:

phppath/php?-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 -n

攻击者试图在这做什么?

luk*_*ash 10

攻击者正在尝试使用CVE-2012-1823,这仅适用于您的PHP在CGI模式下使用(mod_php不易受此影响).

使用-d参数注入到PHP二进制攻击者会禁用PHP可能具有的各种保护机制并通过使用auto_prepend_file(在处理任何PHP文件之前自动执行PHP代码)直接执行PHP代码,同时php://input是POST请求数据流.

除非您的Web服务器日志记录是自定义的,否则您可能无法找到POST请求中的攻击者(POST数据未正常记录).

检查你的PHP,例如.使用这样的脚本:

<?php phpinfo();
Run Code Online (Sandbox Code Playgroud)

PHP版本位于第一行,将其与CVE定义进行比较.如果您正在使用易受攻击的版本,请尽快更新它,同时在那里查找Server API行,如果它不包含CGI的内容,那么您现在应该是安全的,但使用过时的PHP版本永远不会好.