【轉】逆向CDN的各類方式總結

國內民間中小型網站有常見的"360網站衛士","百度雲加速","雲盾","安全寶"等 和國外這類CDN+雲WAF的始祖"cloudflare" 以及 我國各大部級單位網站和各種大型公司所使用的cdn 例如藍汛,網宿等等。
CDN的存在致使滲透測試時沒法對web服務器進行直接攻擊。攻擊掃描等也會被cdn自帶的waf攔截。是任何hacker在滲透時的一大阻礙(個別人會直接攻擊篡改CDN,這時CDN反而成爲入口,這種狀況這裏不講,之後講)。
能夠將CDN簡單的理解爲 web服務器的一層外強中乾的堡壘,由於其保護做用只能起到表層,一旦被攻擊者獲取服務器的真實ip CDN則由鎧甲變爲皇帝的新裝。
因此講了這麼多廢話,要進入正文了,總結一下各類逆向cdn查找源IP的方式。




第一種:SMTP發送郵件泄露源站ip
最簡單,常見的方式。大部分公用SMTP服務在發信時郵件頭會帶上發件者ip,這樣致使cdn直接失去對攻擊者的防禦意義。
這裏用hack80.com來舉個例子,經過多地ping出現的多個ip 能夠推斷他部署了cdn類服務

disucz論壇,咱們能夠經過註冊帳號 或者找回密碼等 任何可讓網站發送一個郵件給咱們的方式  來獲取源ip
這裏我找回密碼舉例 提交後 ,去個人郵箱中 ,查看該郵件原文
便可得到web服務器的源ip。 具體得到源ip後怎麼利用在文末一塊兒總結
解決方案:使用郵件頭不顯示ip的smtp服務,或者將郵件服務更改成使用WEBAPI發送郵件便可。
第二種:子域名與目標域名在一個服務器卻沒作cdn
這種狀況也很常見。有些粗枝大葉的站長 只把本身的主要業務域名部署了cdn,而在一個服務器的子域名卻不部署。
這樣致使黑客只須要獲取一份子域名列表 挨個對子域名的ip與目標域名相匹配,直到訪問成功便可

這裏我用的是seay法師 大牛的layer子域名爆破程序 ,很好用。論壇內有下載地址。須要的能夠去看一下
這個方式是很簡單 且 很通用的思路。 也能夠用域傳送漏洞,同理
解決方案:細心部署,避免子域名裸奔
第三種:泄露IP的程序
這個也很簡單,掃描目標web目錄 獲取一個phpinfo 探針類文件 ,基本上都存有服務器真實ip
在phpinfo裏對應項爲
該方法沒有什麼特別多須要介紹的。

解決方案:刪除敏感文件
第四種:域名歷史解析ip
也是一種比較可行的方案,目前國內提供該服務的網站有ip138等,國外有一個更準確 ,可是我想不起了

通常網站從部署開始到使用cdn都有一個過程,週期若是較長的話 則能夠經過這類 歷史解析記錄查詢等方式獲取源站ip。
爲避免出現偏差,能夠將全部歷史ip採集下來 挨個與當前域名匹配。
這種方案受限於 解析變動極少,CDN部署很早。或者域名收錄量過低 等幾種狀況

解決方案:cdn部署儘早?減小解析次數?
第五種:DDOS
說真的這個方式我不知道寫在這裏好很差,這個帖子裏所寫的方式只有這一種我沒成功過
可是不少大牛都說曾實現過,做爲方法收錄。 我也就記載進來了
據傳(由於本人能力有限並未成功復現過): 免費cdn在受到的攻擊超過本身所承受的防護時則會將域名回源
可是按本人理解 ddos攻擊域名時cdn商並無很好的辦法(二分法屬於一種,可是並不能作到百分百)能夠判斷出是具體哪一個域名遭到了攻擊。因此本人認爲該方案可行性很低
但不排除cdn會將該cdn上部署的全部域名全回源了。
有流量的各位能夠試一下 百度雲加速和雲盾免費版都是防護5GB/S流量,看看超過了到底能不能讓域名回源。

解決方案:換靠譜的cdn。
第六種:SSRF
烏雲峯會的時候 豬豬俠曾講過"SSRF是隻影響有錢人的漏洞" 但在滲透測試的時候 咱們的目標並非個個都是有錢人 有BAT他們那樣大的內網
咱們只是簡單的想取一個源站ip,這時候SSRF也能幫咱們一把
以discuz舉例 (DZ官方彷佛並不把SSRF當漏洞,因此該方案可行度很高)
咱們這裏用春秋論壇作例子,discuz ssrf的exp爲(回覆可見):
php

千決nt,若是您要查看本帖隱藏內容請 回覆


這裏我用HFS而不用NC作演示 由於HFS能夠更容易更直觀的演示
執行exp 春秋論壇就會訪問exp內jpg文件 咱們在HFS上便可查到來訪者ip


該ip即爲真實web服務器ip,針對存在ssrf的網站 這種方法獲取源站ip的準確度基本爲百分百,咱們直接訪問ip能夠肯定

目前針對discuz沒有很好的解決方案。dz不容許php關閉all url open 官方也沒有推送補丁(若是有請在本帖貼出補丁編號)。



解決方案:針對程序存在ssrf的地方作修改。
0x1.獲取CNIP
html

 

0x2.端口掃描web

使用zmap對全CN的IP的80端口進行掃描.安全

      

0x3.獲取banner服務器

直接開掃:post

      

0x4.數據處理測試

使用關鍵字"80sec"對獲取的數據進行簡單過濾網站

      

0x5.猜測url

0x6.感謝spa



思路很棒,若是要防護這種模式也並不困難。

解決方案:咱們能夠將web設置爲只對cdnip響應正常頁面內容 對cdnip之外的ip均設置爲 黑名單 訪問返回錯誤便可。

應該是有更好的解決方案的,可是我太瞌睡了實在是不想一想這個方法的解決方案了。。。

總結一下獲取到源站ip後如何利用。

對於攻擊者而言 最簡單的就是將源站ip直接HOST綁定到目標域名上 ,這樣在訪問時便可繞過CDN 直接訪問源站 進行攻擊時也不會受到CDN限制。

到這裏爲止常見的好用的套路基本都講完了。

本人總結的一條經驗:任何讓服務器主動發起請求鏈接攻擊者的方式 均可能致使服務器不安全。

相關文章
相關標籤/搜索