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

时间:2018-05-10 18:11:13

标签: asp.net iis sql-injection

我想知道是否可以使用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"添加到filteringRule元素,但它没有给出所需的结果。我仍然可以运行username' WAITFOR DELAY '0:0:10'--攻击来检测漏洞。

我知道修复此问题的最佳方法是通过代码,但是大部分错误代码被打包到我们没有源代码的dll中,所以目前我正在尝试查找另一种解决方法。

感谢任何建议

0 个答案:

没有答案