Blog被「掛廣告」的前因後果——家用路由器的安全問題

在BAE(Baidu App Engine)的WordPress才搭建沒幾天(2013/07/06)就被莫名的掛上了廣告,通過半個小時的分析,終於弄清楚了前因後果,問題可大可小,記錄以下,但願對你們有所幫助。 php

1. 源起

上午打開Blog的時候,發現頁面會莫名奇妙的彈出廣告,打開Firebug一開,發現被植入了一大段廣告代碼,心想壞了,難道是網站被掛馬了,得立刻排查緣由。 html

2. 問題定位

Blog是本身親手搭起來的,一方面爲了熟悉WordPress,另外一方面也有安全上的顧慮,WordPress的代碼是從官方下載的,插件也是從插件中心下 載,不在插件中心的也本身查看過源碼,安全上仍是有所保障的。發現被掛廣告後,還特地再次翻看了一下……同時,由於擔憂本身博客/BAE(Baidu App Engine)的賬號被盜,查詢了登陸記錄、文章改動記錄及Blog代碼的修改記錄,都沒有什麼異常,基本上能夠肯定代碼和博客自己沒有什麼問題,應該不 是被入侵了。也有多是WordPress自己有0Day漏洞,可能性很小。 web

目前來看,沒有大的實質損害,但問題沒有定位,內心膈應得慌,因而就從嵌入的廣告代碼開始分析,看看可否找到些端倪。 安全

仔 細查看頁面代碼,發現引入了不少廣告JS代碼,這些都不是WordPress自己或插件生成的,因而便懷疑到了我惟一引入的用於統計頁面請求的CNZZ代碼上,打開一看果然如此。爲了驗證,把CNZZ的JS去除,廣告也隨之消息,終於確認問題所在。

3. 幕後真兇

CNZZ服務了不少站點,理應不會作這麼低級的事情。在Bing上搜索「CNZZ 植入廣告」,找到了一個 CNZZ論壇上的帖子(註冊後可看,截圖以下)。

從答覆中得知多是路由器的DNS配置被篡改所致。打開路由的管理頁面查看,果然如此。DNS地址被修改爲在安徽的某臺機器,雖然沒有重啓路由(WAN口 配置上顯示的仍是撥號時得到的DNS),但配置已經生效,電腦的DNS已是篡改後的DNS了。至此問題定位,DNS改回來後,Blog恢復正常。 網絡

經過Ping CNZZ域名,發現地址被定向到了韓國的一個IP(119.194.159.47)上,本來的地址則是42.121.103.235,來自「浙江省杭州市 阿里巴巴」,估計CNZZ用的是阿里雲的主機。 app

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被「掛廣告」的前因後果 wordpress

Blog新搭好不久,歡迎來踩踩 網站

相關文章
相關標籤/搜索