рамки для защиты XSS - PullRequest
       16

рамки для защиты XSS

1 голос
/ 04 января 2012

Я прочитал страницы о xss на веб-сайте OWASP, 1 2

Но мне любопытен вопрос.

Есть ли ситуации, когда использование таких фреймворков, как html очиститель или esapy невозможно?Какой-то тип ограничения.Если это так, я хотел бы знать ситуации.

Если такие ситуации существуют, ручное экранирование (выходное кодирование) будет единственной альтернативой для предотвращения xss?

Спасибо

1 Ответ

2 голосов
/ 05 января 2012

Как только вы используете данные в не-HTML контексте, эти инструменты становятся бесполезными. Вставка пользовательских данных непосредственно в блок javascript была бы относительно распространенной ошибкой.

Кроме того, любой другой контекст, отличный от HTML, может привести к аналогичным проблемам. Например: помещение данных в некоторый код CSS, адрес электронной почты в конверте SMTP или использование данных в документе PDF.

Важно понимать контекст и код внедрения соответствующим образом. Шпаргалка по профилактике XSS, на которую вы ссылаетесь в OWASP, должна помочь вам ориентироваться в этом методе мышления. Никогда не думайте, что «один размер подходит всем» будет работать везде . Всегда думайте о том, куда вы помещаете ненадежные данные и как ими можно злоупотреблять.

Кроме того, эти библиотеки не совершенны и постоянно совершенствуются и исправляют ошибки. Например, HTMLPurifier недавно получил 2 XSS vul в 2010 . Ситуация также изменится теперь, когда HTML 5 будет более широко поддерживаться, так как это вводит ряд новых векторов внедрения .

...