Каковы риски отключения 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.