- CTF實戰:技術、解題與進階
- ChaMd5安全團隊
- 1143字
- 2023-08-28 18:13:23
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。
- 云原生安全:攻防實踐與體系構建
- 攻守道:企業數字業務安全風險與防范
- DevSecOps敏捷安全
- Mobile Forensics Cookbook
- Learning Python for Forensics
- 計算機病毒原理與防范(第2版)
- 物聯網安全滲透測試技術
- 數據要素安全:新技術、新安全激活新質生產力
- 網絡用戶行為的安全可信分析與控制
- CTF特訓營:技術詳解、解題方法與競賽技巧
- VMware vCloud Security
- 信息系統安全等級化保護原理與實踐
- Web代碼安全漏洞深度剖析
- Securing Network Infrastructure
- Hands-On Bug Hunting for Penetration Testers