一種繞過403的新技術,跟大家分享一下。研究HTTP協議已經有一段時間了。發現HTTP協議的1.0版本可以繞過403。於是開始對lyncdiscover.microsoft.com域做FUZZ,並且發現了幾個403Forbidden的檔案。
(訪問fsip.svc為403)
在經過嘗試後,得出一個結論:當清除所有header頭的值時,伺服器會對客戶端作出響應。
結論1:
將HTTP協議版本更改為1.0,而且不要在標題中設定任何值。
結論2:
如果伺服器和任何其他安全機制沒有以正確的方式配置,不把Host放在header頭內時,伺服器將會自己把目標地址放在header中,這會導致伺服器將我們的請求認做本地請求。
(訪問fsip.svc為200)
用同樣的方式嘗試了另一個檔案,並且再次成功bypass。
(403)
(200)
還要補充一點:你也可以用同樣的方式去繞過CDN獲取伺服器IP。
例如:
如你所見,在Location中,它在返回中顯示了域本身的地址。
【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “部落格園” 獲取!】
① 網安學習成長路徑思維導圖
② 60+網安經典常用工具包
③ 100+SRC漏洞分析報告
④ 150+網安攻防實戰技術電子書
⑤ 最權威CISSP 認證考試指南+題庫
⑥ 超1800頁CTF實戰技巧手冊
⑦ 最新網安大廠面試題合集(含答案)
⑧ APP客戶端安全檢測指南(安卓+IOS)
再次使用相同的方法併傳送請求時,顯示了伺服器的主地址。
以上技術已經被新增到burp工具當中:
https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122
------------------------------
以上這種思路雖然已經被新增到了burp外掛,但我們依舊需要去學習瞭解外掛執行背後的邏輯,而不只是當一個指令碼小子。
尤其是在做黑盒測試中,秉持改變原有資料結構的FUZZ思路進行一切可能的嘗試,才會挖掘出更有趣的漏洞。
在burp許可權繞過外掛中,除了以上嘗試,還有諸多修改url請求的嘗試,例如:
https://www.example.com..;/api/v1/users
https://www.example.com/api..;/v1/users
https://www.example.com/api/v1..;/users
這些嘗試本質也是在破壞資料原有結構,利用後端,伺服器等處理特性實現繞過。
其實除此外還可以進行任何可能的嘗試:https://www.example.com/api/v1/users
例如將v1改成v2,利用萬用字元代替數字,或者新增多餘的字串等等操作。
更多網安技能的線上實操練習,請點選這裡>>