Каковы риски отключения ngSanitize?

Каков риск того, что пользователь сможет генерировать неанизированный HTML? Я использую text-angular и хочу использовать:

 ta-unsafe-sanitizer="true"

https://github.com/fraywing/textAngular/issues/233

Теперь - я думаю, что 99,9% людей, читающих это, понятия не имеют, что такое текстовый англ., Поэтому меня больше всего интересуют общие последствия использования необработанного HTML.

1 ответ

Решение

Предположим, что у вас есть элемент формы со входами, а пользователь вставляет во вход что-то вроде drop table users, Если у вас слабый серверный код или какой-либо сервис, который вы не знаете, каков уровень безопасности, вы можете потерять свои данные. Теперь это пример. Есть много способов делать плохие вещи подобным образом.

Другой пример - вставить в изображения src некоторые URL с параметрами запроса, такими как

<img 
   src='http://somehackingsite.com/images/lol.png?userIp="some scriptor other hacking style"' />

AngularJs предлагает способ решить эту проблему с помощью ngSanitize

Дезинфицирует строку html, удаляя все потенциально опасные токены.

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

Белый список для очистки URL-адресов значений атрибутов настраивается с помощью функций aHrefSanitizationWhitelist и imgSrcSanitizationWhitelist из $compileProvider.

Другие вопросы по тегам