Security
IIS 將規則重寫為帶有撇號的黑洞 URL
我購買了一個不使用特殊字元的網路應用程序。在查看我的日誌時,我看到威脅參與者通過添加撇號和其他通常從不使用的 char() 字元來嘗試查看我的站點是否容易受到 SQL 注入的影響。我相信我的應用程序的安全性(大部分),但想看看重寫規則或其他方法是否會阻止他們的請求。我的網路應用程序給出了標準錯誤。我正在尋找規則或想法 1.) 在沒有 2.) 給伺服器增加大量成本的情況下,盡可能少地向攻擊者提供資訊。那裡有很多重寫規則範例,但我發現沒有一個可以處理這個角度。
探測的簡單範例:
https://sub.domain.com/default.aspx?page=3500'A=0&Id=497066
像這樣的東西?它將清除一些更討厭的 SQL 字元。
<system.webServer> <rules> <rule name="No SQL injection" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{QUERY_STRING}" pattern="['\(\);]" /> </conditions> <action type="AbortRequest" /> </rule> </rules> </system.webServer>
如果任何字元
'();
出現在查詢字元串中,這將中止請求。