黑客技術之DNS劫持
什麼是DNS劫持?
DNS劫持就是通過劫持了DNS伺服器,通過某些手段取得某域名的解析記錄控制權,進而修改此域名的解析結果,導致對該域名的訪問由原IP地址轉入到修改後的指定IP,其結果就是對特定的網址不能訪問或訪問的是假網址,從而實現竊取資料或者破壞原有正常服務的目的。DNS劫持通過篡改DNS伺服器上的數據返回給用戶一個錯誤的查詢結果來實現的。
DNS劫持癥狀:在某些地區的用戶在成功連接寬頻後,首次打開任何頁面都指向ISP提供的「電信互聯星空」、「網通黃頁廣告」等內容頁面。還有就是曾經出現過用戶訪問Google域名的時候出現了百度的網站。這些都屬於DNS劫持。
再說簡單點,當你輸入google.com這個網址的時候,你看到的網站卻是百度的首頁。
目錄
一、什麼是DNS
二、DNS原理
三、什麼是DNS劫持及危害
四、DNS劫持方法
五、如何防止DNS劫持(網路層面)
六、如何防止DNS劫持(應用層面)
七、歷史著名劫持案例
一、什麼是DNS
在網路中,機器之間只認識IP地址,機器之間最終都要通過IP來互相訪問。但是為了方便記憶,可以為IP地址設置一個對應的域名,通過訪問域名,就可以找到對應IP地址的網站。
比如,我們訪問今日頭條官網的時候,在瀏覽器地址欄輸入頭條地址
https:// www.heikexiehui.com
看似我們訪問的是域名,而實際上是通過IP地址訪問的今日頭條官網。
可以在終端命令窗口ping 今日頭條官網域名,就可以看到該域名對應的IP地址了。
(註:直接使用 202.108.250.213是無法訪問今日頭條官網的,這是因為今日頭條的伺服器做了設置,限制IP訪問。
一般的網站會選擇放在虛擬主機,且在主機上放置了很多個網站,而每個網站綁定1個或以上域名、虛擬主機上。例如Apache主機的配置會將對應的ip解析到對應的網站目錄的,實現一台伺服器上配置多個站點;一般用戶在訪問的時候,會產生一個http請求報文,上面的host信息可以提供給伺服器,告訴伺服器要訪問的域名,從而實現一台主機綁
定一個IP,即使有多個網站,也不會相互干擾。但使用IP訪問,主機不知道用戶訪問的具體目錄,請求便會出現錯誤。)
二、DNS原理
DNS 查詢時,會先在本地緩存中嘗試查找,如果不存在或是記錄過期,就繼續向 DNS 伺服器發起遞歸查詢,這裡的 DNS 伺服器一般就是運營商的 DNS 伺服器。
1、DNS工作原理
第一步:
客戶機提出域名解析請求,並將該請求發送給本地的域名伺服器。
第二步:
當本地的域名伺服器收到請求後,就先查詢本地的緩存,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果(域名對應的IP地址)返回。
第三步:
如果本地的緩存中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域) 的主域名伺服器的地址。
第四步:
本地伺服器再向上一步返回的域名伺服器發送請求,然後接受請求的伺服器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
第五步:
重複第四步,直到找到正確的紀錄。
第六步:
本地域名伺服器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。
2、查詢過程
雖然只需要返回一個IP地址,但是DNS的查詢過程非常複雜,分成多個步驟。
工具軟體dig可以顯示整個查詢過程。
上面的命令會輸出六段信息。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:白帽子黑客 |