写在前面:急于解决问题的同学直接跳到图片部分即可。
相信只要是使用电脑上网的用户多多少少都受到过弹出广告的困扰,这些网页广告不光影响我们浏览网页,而且还可能拖慢系统速度,导致浏览器假死,甚至引起系统中毒导致财产受损等。
通常情况下我们遇到的网页弹出广告都是网站运营者为了赚取广告费而提高点击率的方法,这种广告除了让人讨厌外并无危害;当然还有一种广告就是俗称的被挂马了,我简单的说明一下这个挂马:
有些黑客通过入侵网站而取得了写入权限,于是就将这种广告的链接通过各种方式植入到本来没有广告的页面里,比如JS等,说白了就是一段可以让浏览器自动弹出广告窗口的代码。真正有害的并不是这部分代码,隐患其实就隐藏在弹出的广告页面里面……
上面提到的东西对于稍有网络常识的人来说都是知道的,而我之所以在标题结尾用了“?”,就是因为今天我遇到了除此之外的一种“弹出广告”,而这种导致浏览器弹窗的方式被称为“DNS劫持”,话说这真的是种很可怕的“攻击”方式,用户往往都是在不知不觉中中招的,并且发生DNS劫持时不管是计算机系统或是网站源文件都找不到异常!
下面从事情起因说起:
今天打开网站(一家企业的主页)进行日常维护时,浏览器(我用的是Chrome for Mac)突然阻止了一个弹窗,当下就觉着很奇怪,网站从建立到维护,涉及到核心代码的地方一直都是我一个人操作的,我从来没加入过任何弹窗程序,也没挂任何广告,但是怎么会出现弹窗?正巧昨天360网站检测发给我了满分报告,我就更觉得奇怪了,为了验证网站是否被攻击,我立即又进行了一次安全扫描,但扫描结果仍然是满分,分析详细参数后也没发现任何问题,这就证明网站本身是没有问题的。
然后通过分析页面的弹出方式(这次我在虚拟机里面用的IE8),发现很想是通过调用JS控制的弹窗,突然我又对之前下的结论(网站源码没问题)产生了怀疑,因为我的确在网站首页的底部加入了两段链接站外的代码:CNZZ站长统计和百度分享。我开始怀疑是这两个东西搞的鬼(在此先对两家大佬深表歉意,因为后来发现并不是他们的问题……),百度的可能性很小,所以我先去掉了百度的代码,再次打开网站,果然弹窗又出现了,于是我又删除了CNZZ的统计代码,果然再打开网站的时候就没有弹窗了。
事情就这样结束了么?NO!
弄完企业站的事情已经中午12点了,吃过饭回来看新闻,看到一篇有意思的IT资讯正准备转到自己的博客,可是接下来的事情差点让我抓狂!因为当我打开我的博客时(本站),居然又有弹窗被拦截……没天理了啊!!!我的博客可是任何站外代码都没加的啊!!!怎么会有弹窗!!!我不死心的查看了弹窗的初始URL,一个是p.okm918.com另一个是p1.0817tt.com,果断请教度娘可惜度娘一问三不知,又问谷歌,结果第一个没有可用结果,第二个就亮了,下面引用重点条目:
弹出恶意网页p1.0817tt.com 讨论杂谈
l7bz.cn/?thread-index-fid-7-tid-89.htm
2013年7月31日 - 是DNS劫持问题。我已经解决了。解决办法:修改主DNS服务器为"114.114.114.114"
<wbr/>,备用DNS服务器为"8.8.
这时我便来了兴趣,因为之前自己就在内网中架设过DNS服务器,这里面提到了DNS什么的,就先解释一下DNS是神马:DNS是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。简单来讲就是说网站本来的地址都是诸如202.108.22.5这种的IP地址(IPV4,现在还有更复杂的IPV6就不多提)形式,而DNS的作用就是把诸如www.baidu.com这种的域名解析到IP,方便用户访问网站。
而对于用户而言,DNS地址都是通过DHCP(动态主机设置协议,Dynamic Host Configuration Protocol)自动分配的,平常使用的自然都是安全的DNS,一般是上面引用中提到的“114.114.114.114”和“8.8.8.8”,但是经查证,我的DNS被篡改成了“60.173.10.4”(经查证这是个假冒DNS,至于是怎么被篡改的暂时没查到),等我把DNS回复成安全值后,再测试网站果然恢复正常了。
看完这些DNS劫持的危害大家应该都很清楚了,这次问题的麻烦之处是通过路由器来篡改DNS的,还使用了一个正常的DNS(114.114.114.114)作为备选DNS,非常难以被发现;由于现在大多数电脑都有安全软件,具有防御DNS劫持的能力,但这主要是针对一些常用域名,如taobao、alipay、weibo等,cnzz这种不为大众所了解的域名可能就被忽视了;域名的选择非常有针对性,cnzz很多站点都有引入,劫持cnzz效果会非常显著,类似的有51la等; 主要植入了广告代码,会引入各大广告平台的广告,且会在Cookie中写入标记,一段时间内不会重复显示广告,放长线钓大鱼,暂时不清楚是否有种入木马。
至于写这篇文章的目的呢,就是为了提醒一下身边的人注意网络安全,顺便大家也检查一下自己的上网设备是否被恶意篡改过了,下面给出三个查看和修改DNS的方法。
宽带路由用户(以TP-LINK为例),打开路由设置界面,找到DHCP设置,然后将两个DNS分别改回“114.114.114.114”和“8.8.8.8”,一般改完需要重启,如下图:
Windows用户(以XP为例,我虚拟机只装了XP)直接打开如下界面进行配置即可:
Mac用户设置方法如下:
文中部分图片来自网络,图中参数仅供参考,下面给出建议值:
DNS服务提供商 | 主要DNS | 次要DNS |
---|---|---|
114DNS | 114.114.114.114 | 114.114.115.115 |
Google Public DNS | 8.8.8.8 | 8.8.4.4 |
Hinet 中华电信 | 168.95.1.1 | 168.95.192.1 / 168.95.192.1 |
原文评论引用:
1.Velaciela 2013-10-30 23:24:08 回复该评论
遇到同样情况,被劫持到浙江一个DNS去了, TPLINK路由器,不知道是否漏洞,据说可构造代码通过浏览器从内网访问,因此把路由器密码改掉,不要默认的应该就可以了。2.Martin 2013-12-04 16:44:18 回复该评论
的确是这样的,路由使用默认管理密码会非常不安全,改过了就能抵御一些攻击了。3.Goagent 2013-12-07 09:10:06 回复该评论
遇到了相同情况 直接hosts拉黑!