CDN介紹
CDN的全稱是Content Delivery Network,即內容分發網絡。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心平台的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。但在安全測試過程中,若目標存在CDN服務,將會影響到后續的安全測試過程。
日常生活中也常常通過CDN和負載均衡的輪詢來實現一個域名對應多個IP地址。
# 如何判斷目標存在CDN服務?
利用多節點技術進行請求返回判斷【超級ping檢測】# CDN對於安全測試有哪些影響?
我們找不到真實IP的話就無法對真實的站點節點進行測試# 目前常見的CDN繞過技術有哪些?
1、子域名查詢【由於經濟原因,主域名往往與子域名站點搭建在同一台服務器上】2、郵件服務查詢【公司內部郵箱服務器一般不會做CDN,所以可以想辦法讓對方的郵件服務器來訪問你】
3、國外地址請求【由於經濟原因,很多國內公司並不會做國外CDN的部署】
4、遺留文件【類似於phpinfo()這種信息未刪除遺留下來會暴露真實IP】
5、掃描全網【用全世界的網絡對此站進行訪問,並搜集響應IP,進而分析哪個是真實IP】
6、黑暗引擎搜索特定文件【shodan、zoomeye】【搜索特定文件的hash[md5]值】
7、查詢dns歷史解析記錄
8、 以量打量【通過DDOS】
# CDN真實IP獲取后綁定指向地址,然后更改本地HOSTS解析指向文件
案例演示
▲利用子域名請求獲取真實IP
=> 我們可以看到這里是明顯存在CDN的
但是如果我們在進行站點設置的時候把站點的WWW設置了CDN,但是卻沒有在*選擇這里設置CDN,那么我們訪問xueersi.com的時候就會是真實IP(哪怕它會自動補充為www.xueersi.com)
查詢到真實IP
利用第三方查詢查詢到真實IP
案例2:http://m.sp910.com 手機站點有時候可以繞過CDN
它其實和www.sp910.com訪問的是同一個頁面,只不過它根據你的訪問方式為手機進行了調整。
所以有的時候你拿到了這個站點的手機頁面IP,也就等於拿到了PC端真實IP
▲ 利用國外地址請求獲取真實IP
我們注意到剛才的m.sp910.com很明顯是沒有做國外CDN的,於是我們就拿到了真實IP為58.218.215.92
▲ 利用第三方接口查詢獲取真實IP
可用網址:
▲ 利用郵件服務器接口獲取真實IP
案例:墨者學院注冊郵件
我們注意到上面這個是來自於騰訊的中轉郵件,應該不是真實的;那么我們再往下找
mozhe標志的郵箱,不出意外這個應該就是真實IP地址
我們接下來去百度查詢一下,我們發現這個IP所在地在重慶
接下來我們怎么確定他就是這個IP呢?
方法1:人情味【查備案地址、備案號】
我們在墨者學院官網下面發現
它的備案地址有渝,那么基本就可以確定它就是這個重慶的IP
方法2:修改host文件測試
將我們想要測試的IP地址添加到host文件中進行測試,看看瀏覽器是否能打開這個網址,如果可以,這個就可能是我們要找的真實IP;如果不可以,就一定不是。
訪問網站測試
但是要注意:如果我們修改的IP是CDN節點它是可以打開的;但是如果不是真實IP地址,也不是CDN節點,就一定打不開。
▲ 利用黑暗引擎搜索特定文件獲取真實IP
原理介紹:
利用Web上存在的特有文件進行文件hash的獲取,再利用黑暗引擎shodan進行全網追蹤,得到其出現地址,可以基本確定為真實地址
操作流程:
1、首先訪問獲取ico地址
2、然后利用python2獲取其ico地址的hash信息
3、再利用黑暗引擎shodan進行全網追蹤
4、最后通過結果訪問探針真實地址
第一步:直接URL訪問獲取完整ico地址
第二步:通過python2腳本獲取hash值(需要提前安裝好mmh3庫)
import mmh3
import requests
response = requests.get('http://www.xiaodi8.com/img/favicon.ico')
favicon = response.content.encode('base64')
hash = mmh3.hash(favicon)
print hash
#安裝mmh3失敗記得先安裝下這個
#Microsoft Visual C++ 14.0的百度雲下載地址為:
#https://pan.baidu.com/s/12TcFkZ6KFLhofCT-osJOSg 提取碼:wkgv
然后直接訪問shodan,進行搜索
被打碼的地方基本就是真實IP所在地
工具介紹
全網掃描工具:zmap、fuckcdn、w8fuckcdn
zmap:
zmap是一款掃描軟件,由Durumeric領導密歇根大學研究團隊開發。這一工具能在一個小時內掃描整個公共互聯網,顯示近40億在線設備的信息。掃描結果能顯示哪些網站無法防御特定漏洞。
fuckcdn:
用dig命令得到解析IP並記錄下來
然后我們運行fuckcdn,並輸入IP和端口
然后他就會開始進行全網掃描
然后結果會實時動態更新到Result.txt文件中去
w8fuckcdn:
使用教程:
https://www.bilibili.com/read/cv8384169
涉及資源
https://www.shodan.io
https://x.threatbook.cn
http://ping.chinaz.com
https://www.get-site-ip.com/
https://asm.ca.com/en/ping.php
https://github.com/Tai7sy/fuckcdn
https://github.com/boy-hack/w8fuckcdn
https://mp.weixin.qq.com/s?__biz=MzA5MzQ3MDE1NQ==&mid=2653939118&idx=1&sn=945b81344d9c89431a8c413ff633fc3a&chksm=8b86290abcf1a01cdc00711339884602b5bb474111d3aff2d465182702715087e22c852c158f&token=268417143&lang=zh_CN#rd