網(wǎng)站的做用seo引擎優(yōu)化專員
繞過目標(biāo)域名CDN進行信息收集
1.CDN簡介及工作流程
CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))的目的是通過在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中增加一層新的Cache(緩存)層,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)“邊緣”的節(jié)點,使用戶可以就近取得所需的內(nèi)容,提高用戶訪問網(wǎng)站的響應(yīng)速度,從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點分布不均等原因?qū)е碌挠脩粼L問網(wǎng)站的響應(yīng)速度慢的問題。
傳統(tǒng)的、未使用CDN的網(wǎng)站訪問過程如圖1-26所示。
具體訪問流程如下。
(1)用戶輸入訪問的域名,操作系統(tǒng)向LOCAL DNS查詢域名的IP地址。
(2)LOCAL DNS向ROOT DNS查詢域名的授權(quán)服務(wù)器(這里假設(shè)LOCAL DNS緩存過期)。
(3)ROOT DNS將域名授權(quán)的DNS記錄回應(yīng)給LOCAL DNS。
(4)LOCAL DNS得到域名授權(quán)的DNS記錄后,繼續(xù)向域名授權(quán)DNS查詢目標(biāo)域名的IP地址。
(5)域名授權(quán)DNS查詢到域名的IP地址后,回應(yīng)給LOCAL DNS。
(6)LOCAL DNS將得到的域名IP地址回應(yīng)給用戶端。
(7)用戶得到域名IP地址后,訪問網(wǎng)站服務(wù)器。
(8)網(wǎng)站服務(wù)器應(yīng)答請求,將內(nèi)容返回給用戶端。
使用了CDN的網(wǎng)站訪問過程如圖1-27所示。
具體訪問流程如下。
(1)用戶輸入訪問的域名,操作系統(tǒng)向LOCAL DNS查詢域名的IP地址。
(2)LOCAL DNS向ROOT DNS查詢域名的授權(quán)服務(wù)器(這里假設(shè)LOCAL DNS緩存過期)。
(3)ROOT DNS將域名授權(quán)的DNS記錄回應(yīng)給LOCAL DNS。
(4)LOCAL DNS得到域名授權(quán)的DNS記錄后,繼續(xù)向域名授權(quán)DNS查詢目標(biāo)域名的IP地址。
(5)域名授權(quán)DNS查詢到域名記錄后(一般是CNAME),回應(yīng)給LOCAL DNS。
(6)LOCAL DNS得到域名記錄后,向智能調(diào)度DNS查詢域名的IP地址。
(7)智能調(diào)度DNS根據(jù)一定的算法和策略(如靜態(tài)拓?fù)?、容量?#xff09;,將最適合的CDN節(jié)點IP地址回應(yīng)給LOCAL DNS。
(8)LOCAL DNS將得到的域名IP地址回應(yīng)給用戶端。
(9)用戶得到域名IP地址后,訪問網(wǎng)站服務(wù)器。
(10)CDN節(jié)點服務(wù)器應(yīng)答請求,將內(nèi)容返回給用戶端(緩存服務(wù)器在本地進行保存,以備以后使用,同時,把獲取的數(shù)據(jù)返回給用戶端,完成數(shù)據(jù)服務(wù)過程)。
2.判斷目標(biāo)是否使用了CDN
(1)手動Ping查詢。
通常,會通過Ping目標(biāo)主域,觀察域名的解析情況,以此判斷其是否使用了CDN,如圖1-28所示。
可以看到,在Ping主域名時,請求自動轉(zhuǎn)到了“l(fā)st.dtwscachev424.ourwebcdn.com”這個CDN代理上,說明此網(wǎng)站使用CDN服務(wù)。
(2)在線查詢。
還可以利用一些在線網(wǎng)站進行全國多地區(qū)Ping檢測操作,然后對比每個地區(qū)Ping出的IP地址結(jié)果,查看這些IP地址是否一致,如果都是一樣的,則極有可能不存在CDN。如果IP地址大多不太一樣或者規(guī)律性很強,則可以嘗試查詢這些IP地址的歸屬地,判斷是否存在CDN。這里通過17CE網(wǎng)站對百度主域名進行多地Ping檢測,如圖1-29所示。
17CE網(wǎng)站使用多地Ping技術(shù),設(shè)立不同的監(jiān)測點收集響應(yīng)IP地址。如果在多個監(jiān)測點顯示同一個IP地址,那么此IP地址就最有可能為該站的真實IP地址。
常用的多地Ping檢測的CDN網(wǎng)站如下。
17CE
Myssl
站長工具
CDNPlanet
3.繞過CDN,尋找真實IP地址
在確認(rèn)了目標(biāo)確實用了CDN后,就需要繞過CDN尋找目標(biāo)的真實IP地址,下面介紹一些常規(guī)的方法。
(1)內(nèi)部郵箱源。公司內(nèi)部的郵件系統(tǒng)通常部署在企業(yè)內(nèi)部,沒有經(jīng)過CDN的解析,通過目標(biāo)網(wǎng)站用戶注冊或者RSS訂閱功能,查看郵件、尋找郵件頭中的郵件服務(wù)器域名IP地址,Ping這個郵件服務(wù)器的域名,就可以獲得目標(biāo)的真實IP地址(注意,必須是目標(biāo)自己的郵件服務(wù)器,第三方或公共郵件服務(wù)器是沒有用的)。
(2)掃描網(wǎng)站測試文件,如.phpinfo、.test等,從而找到目標(biāo)的真實IP地址。
(3)分站域名。因為很多網(wǎng)站主站的訪問量比較大,所以主站都是“掛”CDN的。分站可能沒有“掛”CDN,可以通過Ping二級域名獲取分站IP地址,可能會出現(xiàn)分站和主站不是同一個IP地址但在同一個C段下面的情況,從而判斷出目標(biāo)的真實IP地址段。
(4)國外訪問。國內(nèi)的CDN往往只對國內(nèi)用戶的訪問加速,而國外的CDN就不一定了。因此,通過國外在線代理網(wǎng)站“App Synthetic Monitor”訪問,可能會得到真實IP地址,如圖1-30所示。
(5)查詢域名的解析記錄。如果目標(biāo)網(wǎng)站之前并沒有使用過CDN,則可以通過網(wǎng)站Netcraft查詢域名的IP地址歷史記錄,大致分析出目標(biāo)的真實IP地址段。
(6)如果目標(biāo)網(wǎng)站有自己的App,則可以嘗試?yán)肍iddler或Burp Suite抓取App的請求,從里面找到目標(biāo)的真實IP地址。
(7)繞過“Cloudflare CDN”查找真實IP地址。現(xiàn)在很多網(wǎng)站都使用Cloudflare提供的CDN服務(wù),在確定了目標(biāo)網(wǎng)站使用CDN后,可以先嘗試通過網(wǎng)站“CloudflareWatch”對目標(biāo)網(wǎng)站進行真實IP地址查詢,結(jié)果如圖1-31所示。
圖中列出了域名直連的IP地址,并且給出了“l(fā)ookup”的歷史解析(Previous lookups for this domain)的IP地址。讀者可以將以上幾種手段結(jié)合起來使用,最終篩選出需要查詢的域名的真實IP地址。
4.驗證獲取的IP地址
找到目標(biāo)的真實IP地址后,如何驗證其真實性呢?
(1)如果是Web網(wǎng)站,那么最簡單的驗證方法是直接嘗試用IP地址訪問,看看響應(yīng)的頁面是不是和訪問域名返回的一樣。
(2)在目標(biāo)段比較大的情況下,借助類似Masscan、Nmap等端口掃描工具批量掃描對應(yīng)IP地址段中所有開了80、443、8080端口的IP地址,然后逐個嘗試IP地址訪問,觀察響應(yīng)結(jié)果是否為目標(biāo)網(wǎng)站。如果目標(biāo)綁定了域名,那么直接訪問是訪問不到的。這時,需要在Burp Suite中修改header頭Host:192.xxx.xxx.xxx,或使用其他方法指定Host進行訪問。