Анти-XSS поддержка в ASP.net против AntiXss Lib - PullRequest
0 голосов
/ 09 августа 2010

Чем отличается поддержка XSS (межсайтовый скриптинг), предоставляемая ASP.net, от AntiXss. AntiXss - это библиотека Microsoft для защиты вашего сайта от XSS. Оба API выглядят почти одинаково, и похоже, что их можно легко переключать с одного на другое, выполняя поиск в файлах кода.

Какой из них обеспечивает большую безопасность от XSS? Целесообразно ли использовать встроенную поддержку, предоставляемую ASP.net?

Ответы [ 2 ]

2 голосов
/ 09 августа 2010

Есть несколько отличий. Прежде всего, библиотека Microsoft AntiXss использует кодировку белого списка, что означает, что закодированы все символы, кроме всех символов, которые известны как безопасные. Стандартный механизм кодирования ASP.NET - черный список. Например, для кодирования HTML он кодирует только 4 символа: <, >, & и " (например, он не кодирует одинарную кавычку). Посмотрите, например, на этот SO-ответ что может пойти не так с этим.

Другое отличие состоит в том, что базовая кодировка ASP.NET (с использованием HttpUtility) способна только кодировать URL-адреса HTML. AntiXss также позволяет кодировать атрибуты HTML и текст JavaScript. В стандартном ASP.NET безопасного способа не существует.

1 голос
/ 09 августа 2010

Одна вещь, которую вы можете иметь в виду, это циклы освобождения; кодировка, встроенная в HttpUtility, может быть обновлена ​​только после выпуска новой версии ASP.NET. Если кто-то придумает XSS-атаку, которая работает против HttpUtility на следующий день после ее выпуска, ваше приложение будет уязвимо до выпуска новой версии ASP.NET. AntiXSS имеет (намного) более быстрый цикл выпуска, что означает, что по мере появления новых атак команда может быстрее реагировать на них и выпускать обновленный AntiXSS, который будет защищать от них.

...