Почему я должен конвертировать и в & в профилактику XSS? - PullRequest
0 голосов
/ 08 мая 2018

Недавно я думал о вопросе, о котором упоминаю в заголовке.

Как подсказывают OWASP в своем ПРАВИЛЕ № 1, перед тем как вставить пользовательский ввод в HTML-страницы, нужно сделать несколько экранированных символов HTML.

Однако, в следующих случаях:

UserInput

Если я экранирую только 4 символа: <> '", но не &, есть ли какая-либо полезная нагрузка, которая может вызвать XSS? Обратите внимание, что & quot; в userInput не может сделать атрибут закрытым.

Или есть случаи, когда символ должен быть экранирован, иначе будут существовать уязвимости XSS?

1 Ответ

0 голосов
/ 08 мая 2018

Вот что вы должны учитывать:

&lt; равно < и &gt; равно >

Вы можете видеть, что & используется для указания точки выхода.

Так что если вы хотите ввести & вместо &amp;, браузеры (парсер) могут рассматривать его как точку выхода.

Вот почему вам нужно использовать &amp; вместо &.

...