IIS请求过滤能否用于阻止提交表单数据时的注入攻击

Can IIS Request Filtering be used to block Injection attacks on submission of Form Data

提问人:John-Rock Bilodeau 提问时间:5/11/2018 最后编辑:MichaelJohn-Rock Bilodeau 更新时间:5/31/2019 访问量:1473

问:

我想知道是否可以使用 IIS 请求过滤来阻止对 ASP.Net 登录表单的 SQL 注入攻击?

基本上,我们有一个遗留的 ASP.Net 应用程序,我们没有所有的源代码,并且通过渗透测试检测到它容易受到注入攻击。

我已经制定了以下请求过滤规则来阻止来自查询字符串的注入攻击,但我仍在尝试弄清楚如何从登录页面上的文本字段阻止这种类型的攻击。

<requestFiltering>
    <filteringRules>
        <filteringRule name="SQLInjectionQuery" scanUrl="false" scanQueryString="true">
            <appliesTo>
                <clear />
                <add fileExtension=".aspx" />
            </appliesTo>
            <denyStrings>
                <clear />
                <add string="--" />
                <add string=";" />
                <add string="/*" />
                <add string="@" />
                <add string="char" />
                <add string="alter" />
                <add string="begin" />
                <add string="cast" />
                <add string="create" />
                <add string="cursor" />
                <add string="declare" />
                <add string="delete" />
                <add string="drop" />
                <add string="end" />
                <add string="exec" />
                <add string="fetch" />
                <add string="insert" />
                <add string="kill" />
                <add string="open" />
                <add string="select" />
                <add string="sys" />
                <add string="table" />
                <add string="update" />
                <add string="waitfor" />
                <add string="delay" />
            </denyStrings>
            <scanHeaders>
                <clear />
            </scanHeaders>
        </filteringRule>
    </filteringRules>
</requestFiltering>

我尝试添加到元素中,但它没有给出预期的结果。我仍然能够运行攻击来检测漏洞。scanAllRaw="true"filteringRuleusername' WAITFOR DELAY '0:0:10'--

我知道解决这个问题的最好方法是通过代码,但大部分坏代码都被打包到我们没有源代码的 dll 中,所以目前我正在尝试寻找另一种方法来解决这个问题。

任何建议都值得赞赏

asp.net IIS SQL 注入

评论

0赞 MisterSmith 5/11/2018
听起来您需要一个 WAF(Web 应用程序防火墙)。您是否考虑过像 cloudflare 这样包含 WAF 的 CDN 服务?(这种方法将要求您将对应用程序的访问限制为仅 cloudflares IP,以避免攻击者通过 IP 找到您的服务器)。此外,还可以将多个 WAF 产品作为在站点中运行的模块进行管理,也可以在应用前面运行专用计算机。根据您的托管要求,AWS 提供了 PaaS WAF(如果可以选择),您可以为 AWS WAF 购买商业生产的规则集。
0赞 Lex Li 5/11/2018
组件可以拆卸。
0赞 Michael 5/31/2019
目前的智慧是“不”。

答: 暂无答案