大家好!
這篇文章我將和大家分享如何繞過某個網站中表單上傳的速率限制,讓我們開始吧!
這種功能的實現一般是通過檢查session緩存中的信息來識別某個用戶session或IP地址在短時間內訪問過多,應該限制訪問速率。
如果某個客戶端在特定時間段內發出過多請求,後端伺服器則會直接返回錯誤代碼429:請求過多。
在前期偵察過程中,我注意到基本所有功能都有速率限制,所以我開始考慮如何繞過,一旦成功,我就可以對多個功能進行暴力攻擊,例如:
首先,我想先測試一下速率限制的具體機制,所以利用不同的IP通過不同的速度發送請求。最後我發現,短時間內相同IP在發送了4個請求後,再發送第五個請求就會被阻塞。
OK!通過這個測試,我感覺到速率限制主要是由IP進行標識。基本上每個IP在發送了4個請求後的第5個請求都會被阻塞,後端伺服器應該是有一個IP訪問計數器。
有趣…
我立刻想到:實現速率限制功能時的一個常見錯誤是,限制規則往往會把本地IP放在白名單,例如127.0.0.1(localhost)等。
於是我在請求中添加了HTTP請求頭X-Remote-IP:127.0.0.1
X-Remote-IP:127.0.0.1
然後…速率限制被成功繞過!
我很快就進行了幾種暴力攻擊,例如:暴力破解登錄密碼
利用密碼更改進行垃圾郵件攻擊:
當然,你也可以對雙因素身份驗證進行暴力破解。
有一個Burpsuite的插件可以自動把這個請求頭插入到所有的HTTP請求中,您可以在這裡找到它
具體頁面如下:
希望你喜歡這篇文章!
本文由白帽彙整理並翻譯,不代表白帽匯任何觀點和立場
來源:巧妙繞過網站訪問速率限制|NOSEC安全訊息平臺 - NOSEC.ORG
白帽匯從事信息安全,專註於安全大數據、企業威脅情報。
公司產品:FOFA-網路空間安全搜索引擎、FOEYE-網路空間檢索系統、NOSEC-安全訊息平臺。
為您提供:網路空間測繪、企業資產收集、企業威脅情報、應急響應服務。