2015-08-11 3 views
0

Может ли кто-нибудь указать мне в правильном направлении со следующим вопросом.Почему проверка ASP.NET опасного запроса работает таким образом?

по умолчанию «Dangerous запрос» проверка в ASP.NET запрещает входы как

"<p", "<p>" or "<script>" 

, но в то же время позволяет входы, как

"<%script>" or "<.script>" 

Что такое рациональное здесь?

ответ

2

<p, <p> или <script>

Они выглядят как теги HTML/XML.

<%script> или <.script>

, но они этого не делают.

И проверка пытается остановить межсайтовый скриптинг, например. подав поле, содержащее:

<script>alert("You're powned!")</script> 

(за исключением действительно злонамеренный), и когда вы просто написать, что текст обратно пользователю, не будучи осторожным, чтобы кодировать правильно пользователь только впрыскивается код на свой веб-сайт.

+0

Спасибо, Ричард, я больше задаю вопрос, почему « lekso

+1

@lekso Поскольку ваш браузер не рассматривает '<% script' для запуска элемента сценария (если он не очень * сломан): для начала'% 'не является допустимым символом в имени элемента. – Richard

+0

Я объясню причину: у нас это помечено как проблема тестирования проникновения. Я пытаюсь оценить риски. – lekso

Смежные вопросы