CakePHP奇怪的缓存文件

时间:2013-03-07 13:43:18

标签: php file cakephp caching

这就是问题所在:

CakePHP在缓存/视图中生成奇怪的缓存文件

" 2f400_shtml.php"  " d_allow_url_include_3don_d_auto_prepend_file_3d_2f_2f_2f_2f_2f_2f_2f_2f_2f_2f_2f_2fetc_2fpasswd"

不太明白会发生什么,但审查我在请求中看到的文件反序列化此文件:

"query";a:1:{s:10:"/400_shtml";s:0:"";}
有人已经遇到过这个问题吗?

这发生在生产服务器中,但不在我的本地环境中。

可以尝试这些攻击吗?

谢谢,感谢您的评论。

1 个答案:

答案 0 :(得分:2)

是的,看起来有人在搞乱您的网站。看起来他们正在尝试访问/etc/passwd文件。

有人点击了一个让Cake创建缓存文件的URL。 Cake会对已经命中的url进行URL编码,并用下划线替换特殊字符

因此请求会涉及很多/字符。

看看你的apache access.log文件,你就可以看到人们提出的请求更清楚:

E.g。

cat <apache_logs_dir>/access.log | grep passwd

会在那里向第二个请求显示类似的请求。

我会自己尝试以确保它们没有任何成功:)

可能是时候确保Apache只能访问您想要的目录了。我认为您可以使用<directory>标记:

http://httpd.apache.org/docs/2.2/mod/core.html#directory

(我假设您使用的是Apache,如果您使用的是IIS,则可能需要调查类似的功能)

环顾谷歌看起来似乎有人试图利用此漏洞:

http://blog.sucuri.net/2012/05/php-cgi-vulnerability-exploited-in-the-wild.html

从该链接中提取:

The PHP guys are recommending the following .htaccess hack to block those attacks:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^[^=]*$
    RewriteCond %{QUERY_STRING} %2d|\- [NC]
    RewriteRule .? – [F,L]