В чем заключается преимущество превращения encoderType в AntiXssEncoder в приложении MVC?
На странице "Что нового" в.Net 4.5 сказано, что вы можете установить для encoderType тип AntiXssEncoder. http://www.asp.net/aspnet/overview/aspnet-and-visual-studio-2012/whats-new
<httpRuntime ...
encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Но в чем вы можете изменить кодировщик по умолчанию?
Благодарю.
2 ответа
AntiXssEncoder использует подход белого списка для выявления вредоносных входных данных [входных данных, которые приводят к межсайтовому скриптингу (XSS)].
Кодер по умолчанию в ASP.Net использует черный список.
Оба выводят кодирование данных. С точки зрения безопасности для выявления злого умысла всегда следует использовать подход на основе белого списка, а не черный.
Выдержка из http://weblogs.asp.net/jongalloway/using-antixss-4-1-beta-as-the-default-encoder-in-asp-net
- AntiXSS по своей природе более безопасен благодаря использованию подхода белого списка. Во многих аудитах и сертификациях безопасности вам потребуется использовать XSS-кодировщик белого списка, поскольку черный список всегда потенциально уязвим для неизвестных атак.
- В более новые браузеры встроена лучшая фильтрация XSS, но в старых браузерах есть уязвимости (например, переключатель кодировки UTF-7), которые не будут обнаружены кодером ASP.NET по умолчанию.
Он устанавливает полный контроль над входными значениями. Когда в строке есть вредоносные коды, библиотека antixss удаляет ее для защиты.
http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx/