Можно ли использовать фильтрацию запросов IIS для блокировки атак внедрения при отправке данных формы - PullRequest
0 голосов
/ 10 мая 2018

Мне интересно, можно ли блокировать атаки SQL-инъекций в форме входа ASP.Net с помощью фильтрации запросов IIS?

В основном у нас есть устаревшее приложение 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, который мы надеваемУ меня нет исходного кода, поэтому в данный момент я пытаюсь найти альтернативный способ исправить это.

Любые предложения приветствуются

...