Безопасность IIS

       

Проверка серверной части


Сценарий должен проверять и очищать данные перед их обработкой, что обеспечит удаление всех некорректных данных и правильное выполнение кода. Очень важно реализовать проверку серверной части, так как некоторые данные передаются внутри самого URL, который не проверяется на клиентской части. Для проверки данных используются и более мощные алгоритмы. Язык сценариев VBScript версии 5.0 и выше работает с регулярными выражениями с целью фильтрации и очистки входящих данных. Посредством создания шаблонов, соответствующих конкретным строкам, осуществляется поиск и замена введенных пользователем данных для проверки их на наличие черт вредоносного характера. Синтаксис шаблона VBScript заимствован из языка Perl.

Следующий пример кода выполняет удаление всех символов, не лежащих в диапазонах 0 – 9, a – z, A – Z и не являющихся пробелом, из строки strTainted:

<% Set reg = New RegExp Reg.Pattern = "\W+" strTainted = reg.Replace(strTainted, "") %>Совет. Для получения более подробной информации о написании общих регулярных выражений с помощью VBScript посетите страницу http://msdn.microsoft.com/workshop/languages/clinic/scripting051099.asp. Общая информация о сценариях Windows находится по адресу http://msdn.microsoft.com/scripting/.

При запросе сценарием информации из базы данных, скорее всего, осуществляется сохранение процедуры. Общий объем данных, переданных сохраненным процедурам, не должен превышать установленный максимум. Все отправляемые запросы нужно проверить на превышение максимально допустимого размера.

Данные, передаваемые базе данных, должны проходить фильтрацию. Злоумышленник в запросах SQL может отправить групповые символы ("%" и "_"), разрешенные в выражениях SQL, и получить все записи из таблицы SQL. Осуществляйте фильтрацию этих символов в любых вводимых пользователем запросах к базе данных.



Содержание раздела