Как предотвратить использование неверных тегов для XSS

Я прочитал комментарий об использовании неверных тегов для XSS-атак. Как я должен дезинфицировать против них. Если я использую такую ​​библиотеку, как HTMLPurifier, воспринимает ли она это как часть своей работы? или это самостоятельная вещь? Я не слышу, чтобы люди много говорили об этом.


person sami    schedule 19.11.2010    source источник
comment
Можете ли вы привести пример этих искаженных тегов, которые используются для XSS-атак?   -  person Gumbo    schedule 19.11.2010


Ответы (4)


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

person Edward Z. Yang    schedule 19.11.2010

HTMLPurifier на самом деле очищает от XSS.

person Community    schedule 19.11.2010
comment
Да, это то, для чего это нужно, но как насчет искаженных тегов? - person sami; 19.11.2010
comment
Это все еще должно заботиться об этом. - person ; 20.11.2010

В наше время, чтобы полностью и полностью защитить себя от XSS, вам потребуется белый, а не черный список, который предоставляет HTML Purifier. Мало того, что в неправильном контексте даже htmlspecialchars($var,ENT_QUOTES); вам не поможет, так как есть много способов избежать использования как html-тегов, так и кавычек (stringFromChar, с использованием обратной косой черты), вы также должны учитывать другую кодировку браузера, которая может позволить, например. эта атака в UTF-7 \\\+ADw-script+AD4-alert(/xss/)+ADw-/script+AD4---//-- должна быть выполнена. Хотя HTMLPurifier имеет большие накладные расходы, это простой нетехнический способ предотвращения XSS-атак (хотя в их фильтрах были и, я думаю, будут дыры).

person cyber-guard    schedule 20.11.2010

В этом случае HTMLPurifer является излишним. Если XSS находится внутри тега, вы можете внедрить событие javascript без необходимости использования <>. Недавно это случилось с твиттером. Ответ заключается в использовании htmlspecialchars($var,ENT_QUOTES);.

person rook    schedule 19.11.2010