DNS的創(chuàng)造是網(wǎng)絡(luò)大師的一大杰作,通過(guò)DNS廣大網(wǎng)民可以通過(guò)域名來(lái)訪問(wèn)相應(yīng)的網(wǎng)站。這樣只需要記住域名就可以了,不需要記住繁瑣的IP地址。如我們經(jīng)常訪問(wèn)的www.vants.org,其DNS解析過(guò)程如下:

上圖可以看到,DNS的解析非常輕巧,使用UDP 協(xié)議,一個(gè)DNS查詢包,一個(gè)響應(yīng)包,兩個(gè)包搞定,簡(jiǎn)潔輕巧,效率高。但是在實(shí)際過(guò)程中經(jīng)常會(huì)遇到一個(gè)問(wèn)題:輸入域名的時(shí)候如www.vants.org,一不小心多輸入一個(gè)w變成wwww.vants.org,這樣的話,可以正常解析嗎?我做了一下實(shí)驗(yàn),在瀏覽器輸入wwww.vants.org,瀏覽器直接報(bào)錯(cuò)“無(wú)法訪問(wèn)此網(wǎng)站”

我們來(lái)看看DNS的解析流程,客戶端進(jìn)行了一次DNS查詢,DNS服務(wù)器查詢以后返回一個(gè)結(jié)果“NO such name A wwww.vants.org”,可以看到DNS服務(wù)器進(jìn)行查詢后,查找不到這樣的結(jié)果。

為什么wwww.vants.org解析不到相應(yīng)的IP?原因很簡(jiǎn)單,DNS沒(méi)有相應(yīng)的配置,但是在現(xiàn)實(shí)中,肯定經(jīng)常存在用戶輸入錯(cuò)誤域名前綴的情況,如果網(wǎng)站服務(wù)方考慮的足夠人性化,完全可以配置一個(gè)DNS解析記錄,配置一個(gè)默認(rèn)解析結(jié)果。在DNS實(shí)現(xiàn)中,的確有這樣一套機(jī)制,這個(gè)稱作DNS泛解析。
既然有DNS泛解析這樣一套機(jī)制,在實(shí)際生活中肯定會(huì)存在相應(yīng)的應(yīng)用。那么我們來(lái)親測(cè)一下,首先拿google開(kāi)刀,隨機(jī)輸入一個(gè)子域名看看能不能正常解析,解析不了;再測(cè)試一下度娘,也解析不了。

兩大寡頭都不支持泛解析,繼續(xù)找下小站,公司滲透大牛很不屑的扔給我一批開(kāi)了泛解析的域名,隨便測(cè)試一個(gè),可以解析到主站的IP上。

既然泛解析有這么人性化的應(yīng)用,那么像google、度娘為什么不打開(kāi)DNS泛解析?這肯定是考慮到安全與運(yùn)維成本等方面。DNS泛解析還存在安全問(wèn)題?的確存在!上圖中的泛解析是解析到主站的IP,如果泛解析的IP被解析到其他的IP,或者是黑客的IP呢?
有這種情況?的確,在實(shí)際工作中多次遇到這種情況。前天發(fā)現(xiàn)一政府的門(mén)戶網(wǎng)站通過(guò)度娘搜索子域名時(shí),搜索到301000個(gè)站點(diǎn),通過(guò)搜索的結(jié)果直接點(diǎn)擊進(jìn)入,發(fā)現(xiàn)有很多子域名都跳轉(zhuǎn)到博彩網(wǎng)站。


通過(guò)ping測(cè)試,發(fā)現(xiàn)主站解析到61.191.*.*,而泛解析卻被解析到23.105.65.113,這個(gè)IP是美國(guó)的IP。DNS的泛解析結(jié)果肯定被黑客惡意修改了。



既然被DNS被泛解析到惡意的IP,并且有這么多解析記錄,那么用戶為什么一直沒(méi)有發(fā)現(xiàn)這個(gè)問(wèn)題?這令我百思不得其解。直到有一次在瀏覽器中輸入一個(gè)隨機(jī)子域名訪問(wèn)時(shí),竟然跳轉(zhuǎn)到正常主站頁(yè)面上去了。既然可以根據(jù)用戶的訪問(wèn)條件(通過(guò)搜索或直接輸入)在博彩與正常主站之間跳轉(zhuǎn),那么在23.105.65.113這個(gè)頁(yè)面肯定存在一個(gè)判斷的條件,觸發(fā)這些條件時(shí)跳轉(zhuǎn)到博彩網(wǎng)站,沒(méi)有觸發(fā)時(shí)跳轉(zhuǎn)到正常頁(yè)面。一般情況下,都是通過(guò)JS來(lái)做識(shí)別和跳轉(zhuǎn)的,這樣只要過(guò)濾相應(yīng)的JS腳本即可,直接分析23.105.65.113頁(yè)面源碼,過(guò)濾src= 果然找到相應(yīng)的JS腳本。


看一下這個(gè)js內(nèi)容,判斷條件很簡(jiǎn)單,http的包頭referrer字段,只要referrer字段中有c或者n就跳轉(zhuǎn)到win.an888.top,否則就跳轉(zhuǎn)到www.*.gov.cn。這樣的話就解釋了直接打開(kāi)隨機(jī)子域名跳轉(zhuǎn)到正常頁(yè)面而通過(guò)百度搜索時(shí)跳轉(zhuǎn)到博彩頁(yè)面的疑問(wèn)。如果通過(guò)直接訪問(wèn)隨機(jī)子域名會(huì)跳轉(zhuǎn)到主站頁(yè)面,不容易被管理人員發(fā)現(xiàn),但是通過(guò)搜索訪問(wèn)時(shí)會(huì)有referrer字段,只要字段中有c或者n就會(huì)跳轉(zhuǎn)到博彩網(wǎng)站。
|