Недавно я думал о вопросе, как я упоминаю в заголовке.
Как советует нам OWASP в своем ПРАВИЛЕ №1, нужно выполнить некоторые Экранирование HTML перед вставкой пользовательского ввода в HTML-страницы.
Однако в следующих случаях:
‹тег›userInput‹/тег›
‹tag attribute="userInput"›‹/tag›
Если я экранирую только 4 символа: ‹ > ' ", но не &, может ли какая-либо полезная нагрузка вызвать XSS? Обратите внимание, что в userInput не удалось закрыть атрибут.
Или есть ли случаи, когда символ & должен быть экранирован, иначе будут существовать уязвимости XSS?