1. 程式人生 > >網頁出現不河蟹彈窗?那是被劫持了!

網頁出現不河蟹彈窗?那是被劫持了!

作為攻城獅的二狗子,除了兢兢業業地工作,私下還經營著個人部落格。憑藉著部落格中精彩豐富的文章,收穫了一眾粉絲。平常更一更文章,讀一讀粉絲留言,是二狗子無上的快樂。 這一天二狗子照例在閒餘時間打開了留言:“咦?今天的粉絲格外熱情呀,留言怎麼這麼多。”二狗子仔細一看,發現風格跟往日完全不符。 “二狗子,你怎麼變成網遊代言人了?” “狗子,一刀 999,帶我一起飛呀?” “狗子狗子,你的部落格被攻陷啦!” “二狗子,你的網站是不是被劫持了?” 滿屏都是這種讓二狗子滿頭問號的留言,滿臉迷茫的二狗子懵逼地打開了自己的部落格。剛開啟部落格,首頁後下角就彈出了“一刀 999 回收 666 這是你沒有玩過一刀版本”的碩大彈窗。 “我沒加過這個呀,這是什麼鬼,怪不得大家這麼調侃我,這要怎麼辦?”二狗子心中一陣慌亂,忽的他想起了留言中某粉絲的回覆,“劫持?會是這個原因麼?”二狗子趕緊在上網查了起來。 這一查發現遇到這個問題的網友還真不少。2016 年,在一場持續超過六個小時的大規模銀行欺詐案中,一家巴西銀行的網站被黑客劫持,線上客戶被路由到攻擊者的網路釣魚站點,導致該銀行的 36 個域名、企業電子郵箱全體淪陷。“被劫持的風險居然這麼大!”嚇的二狗子瓜子都掉了,這可得好好了解一下,再徹底解決。通過資料,他發現劫持還分為 HTTP 劫持和 DNS 劫持。那這兩種有什麼區別,都有什麼危害呢?我們一起跟著二狗子來看看吧。 ## 什麼是劫持 當我們瀏覽一些網站,特別是一些沒有配備 SSL 證書的網站時,有時會遇到網站沒有顯示正確的內容,或者在正確的內容中夾雜了一些亂七八糟的廣告的情況,這可能是遇到了網路劫持。遭到劫持的網站輕則被攻擊,重則資料被偷盜。 那為什麼會發生劫持現象呢? 我國複雜的網路環境是劫持發生的一大原因。除了電信、聯通、移動這三大家,還有長城寬頻、鵬博士、教育網、科技網、廣電等等不少於 20 多家的小運營商,而且各個省市是相互獨立運營。這就導致網路出現跨網、跨運營商的情況會特別多。而這種大量跨網訪問的流量互動就非常容易產生網路劫持, 比較常見的劫持分兩種:DNS 劫持和 HTTP 劫持。用網上一個形象生動的比喻來區分的話,DNS 劫持就是你想去銀行存錢卻把你拉到了劫匪手中,HTTP 劫持就是你從伺服器買了一包零食,裡面給你放了一坨粑粑。 當然這是一個粗淺的比喻,真正的區別我們下面細說。 ![](https://upload-images.jianshu.io/upload_images/80097-82db4d0e5fb68be2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## HTTP 劫持 HTTP 劫持發生在使用者與其目的網路服務所建立的專用資料通道中。它會監視特定資料資訊,當滿足設定的條件時,就會在正常的資料流中插入精心設計的網路資料報文。從而讓使用者端程式解釋“錯誤”的資料,並在使用者介面彈出新視窗展示宣傳性廣告或者直接顯示某網站的內容。 常見的 HTTP 劫持現象有以下三種: - 改變訪問內容:將正常返回的頁面進行劫持並做 302 跳轉,跳轉到更改後的頁面 - 插入廣告:在返回頁面中加入框架程式碼來實現強行加入廣告 - 篡改網頁中原有廣告:將網頁中原本就存在的廣告更改為劫持方要推送的廣告 ![右下角廣告就是 HTTP 劫持發生的結果](https://upload-images.jianshu.io/upload_images/80097-7c1b1400deab378f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 那如何預防和解決 HTTP 劫持呢?方法很簡單,配置 SSL 證書使用 HTTPS 連結訪問網站就可以了。目前又拍雲提供免費的 SSL 證書,一次申請遠離 HTTP 劫持。 ![](https://upload-images.jianshu.io/upload_images/80097-ae28065b2c407147.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## DNS 劫持 DNS 是域名系統 (Domain Name System)的縮寫,是將域名和 IP 地址相互對映的分散式資料庫,能夠讓使用者更方便的訪問網際網路。當我們在瀏覽器中輸入網址,訪問請求會發送到 DNS 解析伺服器。DNS 解析伺服器通過與頂級域及根伺服器進行通訊查詢,將網址解析成對應的 IP 地址,從而讓我們完成網站訪問。 而 DNS 劫持,也稱為 DNS 重定向,是 DNS 查詢被錯誤地解析,從而將使用者重定向到惡意站點。DNS 劫持可用於進行域名欺詐,在這種情況下,攻擊者通常會顯示一些廣告以產生收入,或者用於網路釣魚,讓使用者訪問虛假的網站達到竊取資料的目的。常見的 DNS 劫持現象有: - 中間人劫持:攻擊者攔截使用者的 DNS 請求,並將其重定向到攻擊者自己的受感染 DNS 伺服器。域名指向 IP 被改變,將使用者訪問流量引到掛馬,盜號等對使用者有害頁面。 ![](https://upload-images.jianshu.io/upload_images/80097-7fc63fa78cbaee4b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) - 本地 DNS 劫持:攻擊者在使用者計算機上安裝惡意軟體,然後更改本地 DNS 設定以將使用者重定向到惡意站點。 - 路由器 DNS 劫持:許多路由器具有預設密碼或韌體漏洞。攻擊者可以接管路由器並覆蓋 DNS 設定,從而影響連線到該路由器的所有使用者。 - Local DNS 快取:為了降低跨網流量及使用者訪問速度進行的一種劫持,導致域名解析結果不能按時更新。 DNS 伺服器是網路環境中極其重要的一部分,需要強力的安全措施,避免被黑客劫持,用來做壞事。那怎麼能避免 DNS 劫持呢? - 關閉不必要的 DNS 伺服器,使用中的 DNS 伺服器應放置防火牆後面,並切斷外部通訊。 - 嚴格限制對 DNS 伺服器的訪問。通過使用多重身份驗證,防火牆等,在物理安全和網路安全方面限制訪問。 - 立即修補已知漏洞,因為黑客會經常尋找易受攻擊的 DNS 伺服器。 - 如果網站發現被 DNS 劫持,可以向相關地區運營商提交投訴解除劫持。 ![](https://upload-images.jianshu.io/upload_images/80097-3efc32dbbdac6995.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 溫馨提示:“DNS 劫持”通過篡改域名解析,使網路使用者無法訪問原 IP 地址對應的網站或者訪問虛假網站,從而實現竊取資料資料或者破壞網站原有正常服務的目的。根據《中華人民共和國刑法》第二百八十六條的規定,對計算機資訊系統功能進行破壞,造成計算機資訊系統不能正常執行,後果嚴重的,構成破壞計算機資訊系統罪. 瞭解了劫持的原理和現象,二狗子也是知道了自己遭遇了 HTTP 劫持,想到又拍雲提供多款 SSL 證書,就前去挑選了適合自己網站的證書,一鍵申請,自主部署,輕鬆實現網站與 Web 應用的 HTTPS 加密部署,解決了“遊戲代言”的問題。 #### 推薦閱讀 [聊聊 HTTP 常見的請求方式](https://www.upyun.com/tech/article/606/%E8%81%8A%E8%81%8A%20HTTP%20%E5%B8%B8%E8%A7%81%E7%9A%84%E8%AF%B7%E6%B1%82%E6%96%B9%E5%BC%8F.html) [網騙欺詐?網路裸奔?都是因為 HTTP?](https://www.upyun.com/tech/article/601/%E7%BD%91%E9%AA%97%E6%AC%BA%E8%AF%88%EF%BC%9F%E7%BD%91%E7%BB%9C%E8%A3%B8%E5%A5%94%EF%BC%9F%E9%83%BD%E6%98%AF%E5%9B%A0%E4%B8%BA%20HTTP%EF%BC%9F.html)