Интересно, сможет ли кто-нибудь подтвердить, безопасно это или нет, поскольку я не могу найти ссылку в Интернете, а также еще один вопрос о SO, который специально занимается этим «решением» для XSS.Сохраненная поддержка XSS с богатыми текстовыми комментариями с использованием DocumentFragment и innerHTML
Мне нужно вставлять комментарии богатого текста на мою страницу. Очевидно, что риски XSS высоки, поэтому мой план состоял в том, чтобы innerHTML был временным DIV в DocumentFragment, а затем реорганизовал дерево, используя предопределенный белый список имен тегов и имена атрибутов, которые я считал «безопасными», удалив любые небезопасные. Затем я могу перенести этот безопасный HTML-код в мой настоящий документ.
Это безопасный способ сделать это? Можно ли каким-либо образом запустить XSS-атаку, выполнив это с помощью DocumentFragment? Я надеюсь, что он будет изолирован от реального документа и, следовательно, защищен от запуска пользовательских событий, который может начать любые атаки.
Я не пишу библиотеку анти-XSS. Я спрашиваю, будет ли браузер защищать меня от XSS, если я использую DocumentFragment в качестве временного заполнителя, когда я запускаю белый список безопасных тегов и атрибутов. Я не собираюсь писать парсер HTML для санитации самого HTML! – Martin
Если это окажется неработоспособным, то ссылка на HTML Sanitiser, безусловно, приветствуется ... спасибо. – Martin
В вашем сообщении упоминается итерация через предварительно определенный белый список имен тегов и атрибутов. Это звучит как написание собственного кода для устранения уязвимостей XSS. – Jaco