Валидация запросов ASP.NET: от <?i[a-z!/\\?]|&# до XSS Type-1 WAF

Валидация запросов ASP.NET: от <?i[a-z!/\\?]|&# до XSS Type-1 WAF

(*Запоздалый кросс-пост с Хабра )
"Возможность валидации запросов в ASP.NET спроектирована для выполнения базового контроля входных данных. Она не предназначена для принятия решений, касающихся защищенности разрабатываемых веб-приложений. Только сами разработчики могут определить, какой контент должен обрабатывать их код. Microsoft рекомендует выполнять проверку всех входных данных, получаемых из любых источников. Мы стремимся способствовать разработке защищенных приложений нашими клиентами, и функционал валидации запросов был спроектирован и внедрен для того, чтобы помочь разработчикам в этом направлении. Для получения дополнительной информации о наших рекомендациях по разработке, читайте статью MSDN: http://msdn.microsoft.com/en-us/library/ff649487.aspx#pagguidelines0001_inputdatavalidation".
Официальный статус ASP.NET Request Validation по версии Microsoft Security Response Center

Несмотря на столь внезапный ответ MSRC на недавний отчет исследовательского центра Quotium об обнаружении очередного способа обхода валидации запросов в ASP.NET, стоит заметить, что она все же предназначена именно для принятия решений, касающихся защищенности веб-приложения. В пользу этого говорит и название класса, реализующего основной набор проверок (System.Web.CrossSiteScriptingValidation) и сама его суть, заключающаяся в предотвращении некоторого подмножества атак класса XSS Type-1 (отраженное выполнение межсайтовых сценариев), и оригинальная статья от разработчиков веб-стека. Другой вопрос, насколько эффективно мог бы быть реализован этот функционал и как из имеющегося примитивного регулярного фильтра получить полноценный web application firewall, защищающий от любых векторов XSS Type-1?

Чтобы ответить на этот вопрос, необходимо разобраться с деталями реализации валидации запросов в различных версиях платформы .NET Framework, ее ограничениях, известных способах обхода и возможностей расширения ее функционала.
Дальше »
уязвимости ASP.NET защищенность XSS веб-приложения
Alt text

Владимир Кочетков

Все, что вы могли бы знать об AppSec, но почему-то не спрашивали