我的网站已被上传包含 PHP 代码的图像的用户入侵。此代码允许上传文件,并且他上传了一个恶意 PHP 脚本。
他能够在此 URL 上使用 GET 调用他的“image-php”:
http://mypwnedwebsite.com/image.jpg/.php
如何配置 nginx 以防止这种行为?我的意思是,对于一个简单的/.php
,它就像一切都是 PHP 一样,从我的角度来看这是错误的。
我实际上有一个“经典”的 nginx 1.6.2 配置,我认为这部分是最相关的:
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 120;
include /etc/nginx/fastcgi_params;
}
这应该有效。
它尝试查找 $uri,如果不是文件夹,则抛出 404 错误。