Blog被“挂广告”的来龙去脉——家用路由器的安全问题

在BAE(Baidu App Engine)的WordPress才搭建没几天(2013/07/06)就被莫名的挂上了广告,经过半个小时的分析,终于弄清楚了来龙去脉,问题可大可小,记录如下,希望对大家有所帮助。

1. 源起

上午打开Blog的时候,发现页面会莫名奇妙的弹出广告,打开Firebug一开,发现被植入了一大段广告代码,心想坏了,难道是网站被挂马了,得马上排查原因。

Blog被“挂广告”的来龙去脉——家用路由器的安全问题_第1张图片

2. 问题定位

Blog是自己亲手搭起来的,一方面为了熟悉WordPress,另一方面也有安全上的顾虑,WordPress的代码是从官方下载的,插件也是从插件中心下 载,不在插件中心的也自己查看过源码,安全上还是有所保障的。发现被挂广告后,还特意再次翻看了一下……同时,因为担心自己博客/BAE(Baidu App Engine)的帐号被盗,查询了登录记录、文章改动记录及Blog代码的修改记录,都没有什么异常,基本上可以确定代码和博客本身没有什么问题,应该不 是被入侵了。也有可能是WordPress本身有0Day漏洞,可能性很小。

目前来看,没有大的实质损害,但问题没有定位,心里膈应得慌,于是就从嵌入的广告代码开始分析,看看能否找到些端倪。

仔 细查看页面代码,发现引入了很多广告JS代码,这些都不是WordPress本身或插件生成的,于是便怀疑到了我唯一引入的用于统计页面请求的CNZZ代码上,打开一看果真如此。为了验证,把CNZZ的JS去除,广告也随之消息,终于确认问题所在。

Blog被“挂广告”的来龙去脉——家用路由器的安全问题_第2张图片

3. 幕后真凶

CNZZ服务了很多站点,理应不会做这么低级的事情。在Bing上搜索“CNZZ 植入广告”,找到了一个 CNZZ论坛上的帖子(注册后可看,截图如下)。

Blog被“挂广告”的来龙去脉——家用路由器的安全问题_第3张图片

Blog被“挂广告”的来龙去脉——家用路由器的安全问题_第4张图片

从答复中得知可能是路由器的DNS配置被篡改所致。打开路由的管理页面查看,果真如此。DNS地址被修改成在安徽的某台机器,虽然没有重启路由(WAN口 配置上显示的还是拨号时获得的DNS),但配置已经生效,电脑的DNS已经是篡改后的DNS了。至此问题定位,DNS改回来后,Blog恢复正常。

Blog被“挂广告”的来龙去脉——家用路由器的安全问题_第5张图片

Blog被“挂广告”的来龙去脉——家用路由器的安全问题_第6张图片

通过Ping CNZZ域名,发现地址被定向到了韩国的一个IP(119.194.159.47)上,原本的地址则是42.121.103.235,来自“浙江省杭州市 阿里巴巴”,估计CNZZ用的是阿里云的主机。

4. 危害分析

  1. DNS劫持的危害大家应该都很清楚,这次问题的麻烦之处在于DNS是通过路由器篡改的,还使用了一个正常的DNS(114.114.114.114)作为备选DNS,比较隐秘;
  2. 不清楚路由的DNS是如何被修改的,很可能是通过局域网内的机器修改的,因为路由的地址和用户名密码一般都是默认的;
  3. 由于现在大多数电脑都有安全软件,具有防御DNS劫持的能力,但这主要是针对一些常用域名,如taobao、alipay、weibo等,cnzz这种不为大众所了解的域名可能就被忽视了;
  4. 域名的选择非常有针对性,cnzz很多站点都有引入,劫持cnzz效果会非常显著,类似的有51la等;
  5. 主要植入了广告代码,会引入各大广告平台的广告,且会在Cookie中写入标记,一段时间内不会重复显示广告。

5. 解决方案

  1. 检查路由器DNS的配置,可以的话在本地电脑的网络配置中手动配置DNS(114.114.114.114或8.8.8.8);
    1. 给路由配置一个复杂些的密码;
    2. 对于懂技术的人可能不是问题,但父母辈的很多人都不清楚是怎么回事,记得帮家里也做下检查和配置;
  2. 修改网站的口令(至少我的Blog是要改的了),密码分级管理;
  3. 植入代码里有广告ID,理论上是可以查到受益人的;
  4. 所 用的DNS为60.173.10.4,网站IP为119.194.159.47,Blog被劫持的域名为s15.cnzz.com,对应代码 (http://s15.cnzz.com/stat.php?id=5530942&web_id=5530942& show=pic),有兴趣的朋友可以试试。

6. 原始Blog

Blog被“挂广告”的来龙去脉

Blog新搭好不久,欢迎来踩踩

你可能感兴趣的:(wordpress,dns,路由,TP-link,DNS劫持)