官术网_书友最值得收藏!

1.4.2 SSRF Bypass技巧

1.URL Bypass

靶場環境為CTFHub技能樹-Web-SSRF-URL Bypass。

題目要求請求的URL中必須包含http://notfound.ctfhub.com,我們需要利用合適的方法繞過該限制,可以利用HTTP基本身份認證繞過。

HTTP的基本身份認證允許Web瀏覽器或其他客戶端程序在請求時提供用戶名和口令形式的身份憑證,格式為http://user@domain。以@分割URL,前面為用戶信息,后面才是真正的請求地址,我們可以利用這個特性去繞過一些URL過濾,直接請求http://notfound.ctfhub.com@127.0.0.1獲得flag。

2.數字IP Bypass

指向127.0.0.1的地址如下。

● http://localhost/:localhost代表127.0.0.1。

● http://0/:0在Windows中代表0.0.0.0,在Linux下代表127.0.0.1。

● http://0.0.0.0/:這個IP表示本機IPv4的所有地址。

● http://[0:0:0:0:0:ffff:127.0.0.1]/:Linux系統下可用,Windows系統下不可用。

● http://[::]:80/:Linux系統下可用,Windows系統下不可用。

● http://127。0。0。1/:用中文句號繞過關鍵字檢測。

● http://①②⑦...①:封閉式字母數字。

● http://127.1/:省略0。

● http://127.000.000.001:1和0的數量沒影響,最終依然指向127.0.0.1。

3.使用不同進制代理IP地址Bypass

使用Python寫一個IP地址進制轉換腳本,代碼如下。

4.302跳轉Bypass

靶場環境為CTFHub技能樹-Web-SSRF-302跳轉Bypass。通過GET傳參的URL,嘗試訪問127.0.0.1/flag.php頁面,如圖1-105所示。

不允許企業內部IP訪問,使用file協議獲取源碼:?url=file:///var/www/html/flag.php。得到flag.php頁面源碼,如下所示。

圖1-105 無法訪問

與之前一樣,通過REMOTE_ADDR請求頭限制本地IP請求,源碼中并沒有之前的hacker! Ban Intranet IP,查看index.php頁面的源碼:?url=file:///var/www/html/index.php。得到的index.php頁面源碼如下。

發現其中存在黑名單,限制了127、172、10、192網段,題目提示使用302跳轉方式。嘗試使用短網址繞過,使用在線平臺https://4m.cn/,將http://127.0.0.1/flag.php轉換為短地址,如圖1-106所示。

圖1-106 轉換短地址

利用生成的短地址構造Payload:?url=surl-2.cn/0nPI。通過瀏覽器發送請求,利用302跳轉繞過IP限制,即可得到flag。

5.DNS重綁定Bypass

DNS重綁定(DNS Rebinding)指的是在網頁訪問過程中,用戶在地址欄輸入域名,瀏覽器通過DNS服務器將域名解析為IP,然后向對應的IP請求資源。域名所有者可以設置域名所對應的IP,用戶第一次訪問時,域名會解析一個IP。域名持有者修改綁定的IP,當用戶再次訪問時,會重綁定到一個新的IP上,但對于瀏覽器來說,整個過程都是訪問同一個域名,所以瀏覽器認為是安全的,于是造成DNS重綁定漏洞。

攻擊過程大致如下。

1)控制惡意的DNS服務器回復用戶對域的查詢。

2)誘導受害者加載域名。

3)受害者打開鏈接,瀏覽器發送DNS請求,獲取域名的IP地址。

4)惡意DNS服務器收到受害者請求,并使用真實的IP響應,設置較低的TTL值,減少DNS記錄在DNS服務器上緩存的時間。

5)從域名加載的網頁中若包含惡意的JavaScript代碼,構造惡意的請求將再次訪問域名,導致受害者的瀏覽器執行惡意請求。

DNS重綁定攻擊可使同源策略失效,由于同源策略是指同域名、同協議、同端口,檢測的是域名而不是IP,而DNS重綁定的域名是一樣的,因此同源策略就失效了。

靶場環境為CTFHub技能樹-Web-SSRF-DNS重綁定Bypass。

首先使用file://協議讀取index.php的源碼,發現存在黑名單,限制了127、172、10、192網段,題目提示使用DNS重綁定方式,通過https://lock.cmpxchg8b.com/rebinder.html網站設置DNS,如圖1-107所示。

圖1-107 設置DNS

使用生成的域名構造Payload:?url=7f000001.7f000002.rbndr.us/flag.php。通過瀏覽器發送請求,得到flag。

主站蜘蛛池模板: 延长县| 耒阳市| 荆门市| 从化市| 北川| 东台市| 镇原县| 安吉县| 阿克| 易门县| 康平县| 秭归县| 新郑市| 乌恰县| 太康县| 白河县| 怀远县| 蓝山县| 邻水| 九寨沟县| 龙井市| 揭东县| 湖北省| 十堰市| 陈巴尔虎旗| 赤壁市| 乌拉特中旗| 和田县| 无锡市| 芦山县| 哈巴河县| 江川县| 西乌珠穆沁旗| 涞源县| 明星| 溆浦县| 边坝县| 盘锦市| 湟中县| 兴化市| 同德县|