Asp.net

Azure 前門 WAF 正在阻止 .AspNet.ApplicationCookie

  • June 14, 2022

我想知道是否有其他人遇到過 Azure Front Door 和 Azure Web 應用程序防火牆的問題並有解決方案。

WAF 正在阻止對我們的 ASP.NET Web 應用程序的簡單 GET 請求。被觸發的規則是DefaultRuleSet-1.0-SQLI-942440 SQL Comment Sequence Detected

根據這個截斷的範例,我可以找到 sql 註釋序列的唯一位置是在 .AspNet.ApplicationCookie 中:RZI5CL3Uk8cJjmX3B8S-q0ou–OO–bctU5sx8FhazvyvfAH7wH。如果我刪除 cookie 值中的 2 個破折號“–”,則請求成功通過防火牆。一旦我將它們添加回來,請求就會被相同的防火牆規則阻止。

看來我有兩個選擇。禁用我不想執行的規則(或將其從 Block 更改為 Log),或更改 .AspNet.ApplicationCookie 值以確保它不包含任何會觸發防火牆規則的文本。cookie 由 Microsoft.Owin.Security.Cookies 庫生成,我不確定是否可以更改它的生成方式。

我也遇到了同樣的問題。

如果您查看 cookie 值:RZI5CL3Uk8cJjmX3B8S-q0ou--OO--bctU5sx8FhazvyvfAH7wH有兩個 – 這是潛在危險的 SQL 命令,可以註釋掉您要查詢的 SQL 命令。攻擊者可能會在註釋掉您的查詢後執行他們的命令而不是您的命令。

但是,很明顯,這個 cookie 不會在 SQL 端執行任何查詢,我們對此很確定。因此,我們可以創建不會執行特定條件的規則排除。

轉到您的 WAF > 點擊左側刀片上的託管規則 > 點擊頂部的管理排除項 > 然後點擊添加

在您的情況下,添加此規則就可以了:

匹配變數:請求 cookie 名稱運算符:以選擇器開頭:.AspNet.ApplicationCookie

但是,我使用 Asp.Net Core 3.1 和 Asp.Net Core Identity。我也遇到了其他問題,例如 __RequestVerificationToken。

在此處輸入圖像描述

這是我的完整排除列表。我希望它有所幫助。

在此處輸入圖像描述

PS我認為目前有一個小故障。如果您的環境有 IP 限制,例如 UAT,由於這些排除,Web 應用程序防火牆會繞過 IP 限制,即使您的 WAF 上仍有自定義 IP 限制規則,您的 UAT 站點也會對公眾開放。

引用自:https://stackoverflow.com/questions/58906669