我在 CentOS 6 上有一个 wordpress 站点。看到下面的访问日志后,我检查了服务器,似乎没问题。谁能解释一下这个人想做什么?他们得到他们想要的了吗?
我已禁用 allow_url_include,并将 open_basedir 限制为 web 目录和 tmp(/etc 不在路径中)。
190.26.208.130 - - [05/Sep/2012:21:24:42 -0700] "POST http://my_ip/?-d%20allow_url_include%3DOn+-d%20auto_prepend_file%3D../../../../../../../../../../../../etc/passwd%00%20-n/?-d%20allow_url_include%3DOn+-d%20auto_prepend_file%3D../../../../../../../../../../../../etc/passwd%00%20-n HTTP/1.1" 200 32656 "-" "Mozilla/5.0"
首先看一下CVE-2012-1823。
上面的 URL 被解码为:
http://my_ip/?-d allow_url_include=On+-d auto_prepend_file=../../../../../../../../../../../../etc/passwd� -n/?-d allow_url_include=On+-d auto_prepend_file=../../../../../../../../../../../../etc/passwd� -n
?-d allow_url_include=On
: 他正试图在 php-cgi 调用中添加一个额外的参数:+-d auto_prepend_file=../../../../../../../../../../../../etc/passwd� -n
: 然后将他的文件作为要执行的代码添加到前面。不知道他为什么在这里使用路径遍历攻击而不是使用他的代码或php://input
.-n
最后否定php.ini
:PS:如果您没有将 PHP 作为 CGI 脚本运行,则无需担心。