Security

如何降低 AWS WAF sql 注入過濾器的敏感度?

  • March 28, 2018

我們在帶有 AWS WAF(Web 應用程序防火牆)的 ALB(應用程序負載均衡器)後面的 Amazon Web Services 上設置了我們的應用程序。WAF 包含一個使用 Amazon 提供的一組條件來阻止 SQL 注入嘗試的規則。

問題是系統中的某些表單欄位被設計為用於通用註釋,而 WAF 在過濾此輸入時過於激進。範例註釋:

在這句話中你不應該有多個“和”

由於“and”(包括引號),送出此請求的表單被阻止(403 Forbidden)。

有沒有辦法修改我們的應用程序或 WAF 配置以防止它阻止這些類型的請求?

我們過去曾發生過多個廣泛的 SQL 注入探測攻擊實例,因此雖然我們集中精力修補應用程序級別的任何安全漏洞,但我們真的希望能夠將 WAF 作為額外的一層保護整個應用程序。

所以我找到的解決方案是添加白名單規則。基本上,我為這個特定請求的 URI 創建了一個字元串匹配條件,用它創建了一個新的“白名單”規則,並將它作為第一個規則添加到我的 ACL 中,並以“允許”作為操作。我的理解是,這意味著對這個 URI 的請求會自動傳遞,並且不會針對列表中較低的 SQL 注入規則進行測試。這確實有效 - 我可以將 SQL 注入的字元串送出到相關頁面,但其他頁面仍然受到保護。

顯然,我需要格外小心,所討論的頁面不容易受到這種類型的攻擊,但我在應用程序的其餘部分保留了我的保護層。

如果有人可以描述更好的解決方案,我仍然願意接受另一個答案。

引用自:https://serverfault.com/questions/904616