Как избежать XSS атак при сохранении HTML

Обновить

December 2018

Просмотры

206 раз

3

Мой сайт хранит HTML , который генерируется пользователем. Тогда, конечно , эти данные предоставляются на веб - странице. Каковы лучшие практики для разрывает HTML и избежать XSS атак? Является ли зачистки <script>и <iframe>теги достаточно? Будет ли это охватить все браузеры? Я слышал от старых браузеров рендеринга HTML от странного кодирования ... как я могу справиться с этим?

Я хотел бы общий ответ, не связанный с любыми языками или технологиями.

4 ответы

0

Вы потеряли, когда будет позволить пользователю сделать набор HTML на странице, там повторно широкий спектр возможностей, как OnMouseOver «myEvilJS» или

0

Минимум вы должны преобразовать эти символы.
& -> & амп;
<-> & л;
> -> & GT;
«-> & Quot;
'-> & # x27;
/ -> & # x2F;

0

Я могу заверить вас , что нет никакого способа безопасно делать то , что вы просите. Хитрый хакер всегда будет иметь возможность использовать систему , которая позволяет произвольный HTML от пользователя, даже при очистке путем зачистки от определенных тегов. Именно поэтому такие инструменты , как уценки и BBcode существуют. Зачем искать, даже StackOverflow использует аналогичный.

Дорога вы планируете путешествие вниз завалена 10000 эксплуатируемых веб-сайтами.

3

Вы можете использовать библиотеки как Jsoup особенно их белый список-дезинфицирующее для предотвращения XSS.

В общем, я думаю , что это лучше / безопаснее использовать Подход в белый список , а не фильтровать черный список тегов. Кроме того, HTML следует избегать в первую очередь. Вместо этого, некоторые простые разметки, как уценки , следует использовать.