我有一个 Ubuntu Lucid 服务器,其中装有 Nginx (0.7.65) 和 php5-fpm (Brian Mercer 的包装)
我的所有配置都是默认的,我的站点配置如下所示(域名已替换):
server {
listen 80;
server_name sub.example.com;
access_log /data/log/www/sub.example.com/access.log;
error_log /data/log/www/sub.example.com/error.log;
location / {
root /data/www_data/sub.example.com/public;
index index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME /data/www_data/sub.example.com/public$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
}
<?php phpinfo(); ?>
其中有一个index.php 。
现在,当我在 Chrome 浏览器中加载 sub.example.com/ 时,我可以看到 phpinfo。奇怪的是,在我的访问日志中,index.php 命中记录了多个条目。对于 favico(不存在),只有一个命中。请参阅下面的日志。
130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET / HTTP/1.1" 200 10287 "-" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3"
130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2536 "http://sub.example.com/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3"
130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /index.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18 HTTP/1.1" 200 2825 "http://sub.example.com/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3"
130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2158 "http://sub.example.com/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3"
130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /favicon.ico HTTP/1.1" 404 143 "-" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3"
是什么原因导致 index.php 出现这三重攻击?
答案1
只需查看生成页面的源代码。你会看到图像的地址如下
<img border="0" src="/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42" alt="PHP Logo" />
这是因为你的日志文件中有多个请求
答案2
首先,你应该将 Nginx 升级到 0.7.67,正如你从更改日志0.7.66 是一个主要的不建议更新并停留在 0.7.65 版本。
如果你看一下实际请求,你会发现它们也不同。
?=PHPE9568F34
?=SUHO8567F54
?=PHPE9568F35
我无法告诉你它们为什么不同,但这至少是 Nginx 记录三个请求的原因。奇怪的是,状态 200 后面的数字是发送的字节数,因此它实际上显示的内容不同。根据请求,根据查询字符串,这至少部分与 suhosin 相关。