IIS 重写规则到带有撇号的黑洞 URL

IIS 重写规则到带有撇号的黑洞 URL

我购买了一个不使用特殊字符的 Web 应用程序。在查看我的日志时,我看到威胁者在尝试通过添加撇号和其他通常从未使用的 char() 字符来查看我的网站是否容易受到 SQL 注入攻击。我相信我的应用程序的安全性(大部分),但想看看重写规则或其他方法是否会使他们的请求陷入黑洞。我的 Web 应用程序给出了它的标准错误。我正在寻找规则或想法来 1.) 尽可能少地向攻击者提供信息,而不会 2.) 给服务器增加大量开销。有很多重写规则示例,但我没有找到处理这个角度的示例。

探测的简单示例:https://sub.domain.com/default.aspx?page=3500'A=0&Id=497066

答案1

像这样?它将清除一些较讨厌的 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>

'();如果查询字符串中出现任何字符,这将中止请求。

无 SQL 注入规则 在此处输入图片描述

相关内容