Как можно вставить JavaScript, кроме как с помощью этих методов? - PullRequest
0 голосов
/ 03 февраля 2011

Каким образом Javascript может быть размещен на HTML-странице, кроме:

  1. <script> </script> тегов в теле или в заголовке тега или загруженных из внешних файлов.
  2. Триггеры onEvent
  3. <a href="javascript:code goes here;"></a>
  4. <form action="javascript:code goes here;"></form>

Ответы [ 3 ]

4 голосов
/ 03 февраля 2011
  • javascript: URI в других атрибутах, которые принимают URI (например, img src)
  • expression в CSS для IE
  • Множество хитростей, связанных с недопустимым HTML или неправильным URIs

Не черный список , убедитесь, что вы используете белый список. Вещи меняются. И помните, что символы могут быть заменены на объекты HTML. Выполните синтаксический анализ HTML, пропустите его через фильтр белого списка, а затем сериализуйте его обратно в HTML.

См. Также http://ha.ckers.org/xss.html

2 голосов
/ 03 февраля 2011

Javascript в CSS

По сути, вы также можете внедрить JavaScript, где url():

body { background: url(javascript: code goes here); }

Инъекции графического сценария (устаревшие браузеры)

<img src="javascript:code goes here" />

<input type"image" src="javascript:code goes here" />

Дополнительные сведения можно найти с помощью методов XSS: Шпаргалка XSS

0 голосов
/ 03 февраля 2011

Я не верю, что есть больше вариантов - иначе было бы легко найти дыры в безопасности (XSS).

Есть ли конкретная вещь, которую вы пытаетесь сделать? или просто любопытно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...