<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Google云平臺WAF中的8KB繞過

    VSole2022-07-20 17:09:34

    Google Cloud Armor 提供了一個基于規則的策略框架,可供 Google Cloud Platform 的客戶用來緩解各種類型的常見 Web 應用程序攻擊。Cloud Armor 服務有 8 KB 的記錄限制,即它將檢查的 Web 請求的最大大小。 這種默認行為下,攻擊者可以使得惡意請求繞過Cloud Armor 并直接到達底層應用程序。

    介紹

    Web 應用程序防火墻套件為現代 Web 應用程序提供了關鍵的安全層,即使底層應用程序易受攻擊,也可以保護它們免受各種攻擊,例如:代碼執行、SQL 注入、跨站點腳本等。GCP 客戶可以使用 Cloud Armor 來保護使用 Google Cloud Load Balancing 提供服務的應用程序。

    Cloud Armor 支持規則自定義表達式,同時還提供一組預配置的 Web 應用程序防火墻規則,這些規則來自 OWASP ModSecurity 核心規則集。

    8KB限制

    Cloud Armor 的 Web 應用程序防火墻組件檢查傳入的 HTTP 請求,并將它們與用戶定義的基于規則的策略進行比較。Cloud Armor 服務可以配置為:根據給定請求觸發的規則允許或拒絕對底層應用程序的請求。

    Cloud Armor 的 Web 應用程序防火墻組件具有 8 KB 的不可配置的 HTTP 請求正文大小限制。這意味著 Cloud Armor 將僅檢查 HTTP POST 請求正文的前 8192 個字節或字符。

    這類似于 AWS Web 應用程序防火墻的8 KB 限制,但是在 Cloud Armor 中,該限制鮮有人知,也沒有像 AWS 中的限制那樣突出地呈現給客戶。

    在撰寫文本時,客戶在從 Web UI 中配置 Cloud Armor 規則時不會看到提示或通知,并且只能在文檔文章中包含的非描述性通知中找到對 8 KB 限制的引用。

    可以通過制作正文大小超過 Cloud Armor 的 8 KB 大小限制的 HTTP POST 請求來利用此問題,下圖payload中位于請求正文的第 8192 個字節/字符之后。

    但是,攻擊者成功進行 WAF 繞過的情況是有條件的:被攻擊的目標能以可能觸發潛在漏洞的方式接收和處理HTTP POST 請求。如果給定的底層端點不接受 HTTP POST 請求,則繞過后不會進行觸發,實則是無意義的。

    HTTP PUT 和 PATCH 的請求正文限制

    Cloud Armor 的另一個限制是:僅對于 HTTP POST 請求的請求正文進行檢查。因此,攻擊者可以利用HTTP PUT 或 PATCH 方式發送帶有惡意payload的請求包以此來繞過WAF,此時無需在正文中填充8192 字節!

    WAF繞過的影響

    了解此限制的攻擊者將更好地利用底層應用程序中可能存在的任何漏洞。例如,攻擊可可以嘗試 Log4j RCE 漏洞 (CVE-2021-45046) 來對web應用程序進行探測。

    防御

    Cloud Armor 是一種有價值的安全工具,但重要的是客戶了解 8 KB 的大小限制,以便他們可以采取措施進一步保護他們的應用程序。

    客戶可以配置自定義 Cloud Armor 規則來阻止請求正文大于 8192 字節的 HTTP 請求。

    int(request.headers["content-length"]) >= 8192
    

    上述規則將在 Content-Length 標頭的值等于或大于 8192 的傳入請求上觸發。

    正如我們之前關于 Amazon Web Services WAF 的 8 KB 大小限制的文章中所述,某些資源的合法請求的大小可能會達到 8 KB 或更大。在這些情況下,可以使用 Cloud Armor 的自定義規則語言微調規則,以便 WAF 預期并適當地處理合法請求。

    結論

    Cloud Armor 是一項用于保護 Google Cloud Platform 上的資源和數據的有用服務,但是,客戶必須了解其請求過濾功能的局限性,并應采取措施降低 8 KB WAF 限制可能帶來的潛在風險。

    waf
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    0x00 簡介WAFNinja 簡介WAFNinja 是一款采用Python編寫的命令行工具。它通過自動化步驟來幫助滲透測試者來繞過WAF,而這些步驟對于繞過輸入驗證來說是必需的。
    WAF指紋識別工具
    2022-04-11 06:18:47
    原理發送正常的 HTTP 請求并分析響應;這確定了許多 WAF 解決方案。如果不成功,則發送多個HTTP 請求,并使用簡單的邏輯來示例就是WAF
    WAF繞過工具
    2022-03-02 06:34:03
    Nemesida WAF 團隊 ( nemesida-waf.com ) 的 WAF Bypass 是一個開源工具 (Python3),用于使用預定義的有效負載檢查任何 WAF 的誤報/誤報數量(如果需要,可以更改有效負載集)。使用前關閉禁用模式。 為內部需求開發的腳本,包括用于測試 Nemesis WAF 和 Nemesida WAF Free,但您可以使用它來測試任何 WAF
    如果流量都沒有經過WAFWAF當然無法攔截攻擊請求。當前多數云WAF架構,例如百度云加速、阿里云盾等,通過更改DNS解析,把流量引入WAF集群,流量經過檢測后轉發請求到源站。如圖,dict.com接入接入WAF后,dict.com的DNS解析結果指向WAF集群,用戶的請求將發送給WAF集群,WAF集群經過檢測認為非攻擊請求再轉發給源站。
    WAF分為非嵌入型WAF和嵌入型WAF,非嵌入型指的是硬WAF、云WAF、虛擬機WAF之類的;嵌入型指的是web容器模塊類型WAF、代碼層WAF
    Bypass安全狗MySQL注入
    一般的做法,是解綁域名,再到web服務上綁定該域名。也就是說,規則引擎分為兩塊,對請求過濾和對響應過濾,而對請求過濾分為兩大步,網絡層過濾和應用層過濾。
    WAF分類及繞過思路
    2021-11-26 05:17:12
    WAF分為非嵌入型WAF和嵌入型WAF,非嵌入型指的是硬WAF、云WAF、虛擬機WAF之類的;嵌入型指的是web容器模塊類型WAF、代碼層WAF
    WAF CDN 的識別方法
    2021-11-22 07:37:57
    CDN 是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN 的關鍵技術主要有內容存儲和分發技術。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类