Каково различие между AntiXss. HtmlEncode и HttpUtility. HtmlEncode?

Википедия знает все...

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

центральные процессоры используют оптимизацию производительности, которая может привести к выполнению с изменением последовательности, включая загрузку в память и сохранить операции. Операция памяти, переупорядочивающая обычно, остается незамеченной в единственном потоке выполнения, но вызывает непредсказуемое поведение в параллельных программах и драйверах устройств, если тщательно не управляется. Точный характер ограничения упорядочивания аппаратно-зависим, и определенный моделью памяти архитектуры. Некоторая архитектура обеспечивает несколько барьеров для осуществления различных ограничений упорядочивания.

Барьеры памяти обычно используются при реализации машинного кода низкого уровня, который воздействует на память, совместно использованную несколькими устройствами. Такой код включает примитивы синхронизации и структуры данных без блокировок в многопроцессорных системах и драйверы устройств, которые связываются с компьютерным оборудованием.

43
задан animuson 6 September 2012 в 21:54
поделиться

4 ответа

У меня нет конкретного ответа на ваш вопрос, но я хотел бы отметить, что подход между белым списком и черным списком не просто "хороший". Это важно. Очень важный. Когда дело касается безопасности, важна каждая мелочь. Помните, что с межсайтовым скриптингом и подделкой межсайтовых запросов , даже если ваш сайт не показывает конфиденциальные данные, хакер может заразить ваш сайт, внедрив javascript и используя его для получения конфиденциальных данных с другого сайта. Так что делать это правильно - критически важно.

В рекомендациях OWASP указывается, что используется метод белого списка . Руководства по соответствию PCI также указывают это в стандартах кодирования (поскольку они относятся к руководствам OWASP).

Кроме того, новая версия библиотеки AntiXss имеет приятную новую функцию:. GetSafeHtmlFragment (), который удобен для тех случаев, когда вы хотите сохранить HTML в базе данных и отображать его пользователю как HTML.

Также, что касается «ошибки», если вы правильно кодируете и следуете всем В соответствии с рекомендациями по безопасности, вы используете параметризованные хранимые процедуры, поэтому одинарные кавычки будут обрабатываться правильно. Если вы неправильно кодируете, никакая стандартная библиотека не защитит вас полностью. Библиотека AntiXss предназначена для использования в качестве инструмента, а не для замены знаний. Полагаясь на библиотеку, чтобы сделать это правильно, вы ожидаете, что действительно хорошая кисть будет создавать хорошие картины без хорошего художника.

Править - Добавлено

Как задано в вопросе, пример того, где анти xss будет защитит вас, и HttpUtility не будет:

HttpUtility.HtmlEncode и сервер. HtmlEncode не предотвращает межсайтовый скриптинг

Однако это, по мнению автора. Я не тестировал его лично.


Похоже, вы соблюдаете свои правила безопасности, так что это может быть не то, что мне нужно вам рассказывать, но на всякий случай, если менее опытный разработчик читает это, Причина, по которой я говорю, что подход «белого списка» важен, заключается в следующем.

Прямо сейчас, сегодня HttpUtility.HtmlEncode может успешно блокировать все атаки, просто удалив / закодировав < и > , а также несколько других «известных потенциально небезопасных» символов. , но кто-то всегда пытается придумать новые способы взлома.

31
ответ дан 26 November 2019 в 23:03
поделиться

Мы используем подход белого списка для Сайты Microsoft Windows Live. Я уверен, что существует множество атак на безопасность, о которых мы еще не думали, поэтому мне удобнее использовать параноидальный подход. Я подозреваю, что были случаи, когда в черном списке обнаруживались уязвимости, которых нет в белом списке, но я не мог рассказать вам подробностей.

3
ответ дан 26 November 2019 в 23:03
поделиться

Большинство уязвимостей XSS (на самом деле любой тип уязвимости) основаны исключительно на том факте, что существующая система безопасности «не ожидала» определенных событий. Подходы с использованием только белого списка более подходят для обработки этих сценариев по умолчанию.

5
ответ дан 26 November 2019 в 23:03
поделиться

С точки зрения того, почему вы бы использовали одно вместо другого, учтите, что библиотека AntiXSS выпускается чаще, чем платформа ASP.NET, поскольку, как говорит Дэвид Стрэттон, «кто-то всегда пытается подумать о новых способах взлома », - когда кто-то все же придумал один, библиотека AntiXSS с гораздо большей вероятностью получит обновленную версию для защиты от него.

12
ответ дан 26 November 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: