Почему ValidateRequest = "true" недостаточно для предотвращения XSS? - PullRequest
6 голосов
/ 01 апреля 2010

В примечаниях к шагу 1 в «Как: предотвратить межсайтовый скриптинг в ASP.NET» указано, что вы не должны «полагаться на проверку запросов ASP.NET. Рассматривайте это как дополнительные меры предосторожности в дополнение к вашей собственной проверке входных данных. "

Почему этого недостаточно?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2010

Всего две подсказки:

  • Ваше приложение может выводить не только данные, введенные с помощью форм ASP.NET. Подумайте о веб-сервисах, RSS-каналах, других базах данных, информации, извлеченной из пользовательских загрузок и т. Д.

  • Иногда необходимо отключить стандартную (эффективную, но чрезмерно простую) проверку запросов, потому что вам нужно принять угловые скобки в ваших формах. Подумайте о редакторе WYSIWYG.

2 голосов
/ 01 апреля 2010

С одной стороны, хакеры всегда придумывают новые атаки и новые способы вставки XSS. Запрос ASP.NET RequestValidation обновляется только тогда, когда выходит новая версия ASP.NET, поэтому, если кто-то предпримет новую атаку на следующий день после выпуска ASP.NET, RequestValidation не сможет ее поймать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...