CDN的全稱是? Content Delivery Network,? ?即內容分發網絡。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。但在安全測試過程中,若目標存在CDN服務,將會影響到后續的安全測試過程。
?
如何判斷網站是否存在 CDN 服務?
ping? 命令? ?在線 ping??多個地點Ping服務器,網站測速 - 站長工具
?可以看到有多個IP地址應答? 存在CDN
?nslookup? [目標 網站域名]
可以看到解析到多個IP地址
?
?常見 CDN 繞過技術
1.子域名查詢
可以看到? baidu.com 與 www.baidu.com 解析 是不同的
?
2.郵件服務
?
3.國外地址請求
一些站點由于服務對象基本在國內,或者成本原因,在國外一些地方沒有CDN服務,如果用國外的服務器去請求站點域名,則會訪問到站點的真實地址。這里用到一款全球ping掃工具,熱度越低的國家,效果越好。
IPIPtools:全球 CDN 服務商查詢_專業精準的IP庫服務商_IPIP
4.遺留文件
一些站點在搭建之初,會用一些文件測試站點,例如“phpinfo()”文件,此類文件里就有可能包含了真實的IP地址。可以利用Google搜索引擎搜索關鍵字“site:xxx.com inurl:phpinfo.php”,搜索站點是否有遺留文件。
5.掃描全網
fuckcdn? (https://gitee.com/mengqingyu100/fuckcdn/repository/blazearchive/master.zip)
6.特定搜素引擎(鐘馗之眼 FOFA網絡空間測繪系統 撒旦)
搜索特定文件------>站點的icon文件,也就是網站的圖標,一般查看網頁源代碼可以找到,格式大致“http://www.xx.com/favicon.ico”。在shodan搜索網站icon圖標的語法為:http.favicon.hash:hash值,hash是一個未知的隨機數,我們可以通過shodan語法來查看一個已經被shodan收錄的網站的hash值,來進一步獲取到所有帶有某icon的網站。
? shadan :? http.favicon.hash:[hash值] (需要會員)
?fofa? : icom_hash= "[hash值]"? (需要會員)
python 計算hsah值 代碼
import mmh3
import requests
response = requests.get('https://www.csdn.net/favicon.ico')
favicon = response.content
hash = mmh3.hash(favicon)
print('http.favicon.hash:' + str(hash))
?7.域名解析歷史記錄
站點在使用CDN服務之前,它的真實IP地址可能被DNS服務器所記錄到,此時我們就可以通過DNS歷史記錄找到目標真實IP。
DNSdb:https://dnsdb.io/zh-cn/