現在很多大型企業都會使用CDN內容分發網絡,因為CDN存在多個緩存服務點,而且會根據用戶IP地址,將用戶請求導向到最近的服務點上進行相應,所以得不到主服務站點的ip地址,總結學習一下繞過CDN找到真實ip
0x00 判斷是否使用CDN
方法1:多地進行ping,看ip是否不同
很簡單,使用各種多地 ping 的服務,查看對應 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 網站有:
http://ping.chinaz.com/
http://ping.aizhan.com/
方法2:nslookup xxx
如果返回多個A記錄,一般就是使用了CDN了
0x01 獲取真實IP
方法1:ping xxx.com 而不是 ping www.xxx.com
因為了解到現有很多CDN廠商基本只要求把www.xxx.com cname到cdn主服務器上去,而且有人為了維護網站時更方便,不用等cdn緩存,只讓WWW域名使用cdn,禿域名不使用。所以試着把目標網站的www去掉,ping一下看ip是不是變了?
方法2:ping二級域名或者三級域名爆破
因為很多情況是主站使用了CDN而分站沒有使用,而且一般不會把所有的二級域名放在CDN上,所以,使用google site或者自建一個常用二級域名字典,猜到其二級域名,再ping二級域名,獲取其ip,最后將目標域名綁定到同ip,能訪問就說明目標站與此二級域名在同一個服務器上,就算不在同一服務器也可能在同C段,掃描C段所有開80端口的ip,挨個試。
簡單地說,其實就是從旁站入手,找到一個與主站同一個服務器的分站,這里就像上面的說的,需要嘗試大量ip與目標域名綁定進行嘗試。
方法3:nslookup,使用國外dns
大部分CDN提供商只針對國內市場,而對國外市場幾乎是不做CDN,所以有很大的幾率會直接解析到真實IP。其實這個方法根本不用上國外vpn,因為你上國外vpn的ping本質,就是使用國外dns(那台vpn服務器使用的dns)查詢域名而已,所以只需要:nslookup xxx.com 國外dns,就行了,例如:nslookup xxx.com 8.8.8.8,提示:你要找冷門國外DNS才行,像谷歌的DNS,國內用的人越來越多了,很多CDN提供商都把谷歌DNS作為國內市場之一,所以,你查到的結果會和國內差不了多少 (核總的原話)。
方法4:查詢域名的NS記錄,其域名記錄中的MX記錄,TXT記錄等很有可能指向的是真實ip或同C段服務器。
0x02 驗證真實ip
最簡單的驗證方法是直接嘗試用IP訪問,看看響應的頁面是不是和訪問域名返回的一樣;
如果直接ip不能訪問,那就本地hosts綁定域名跟ip,看看響應的頁面是不是和訪問域名返回的一樣
參考資料
鏈接:https://www.zhihu.com/question/37103396/answer/70785888
鏈接:https://www.cnblogs.com/qiudabai/p/9763739.html
