这一道题都有20关我真服了
level 1

查看源码

不难发现test会在页面里回显出来 所以我们直接再url里修改name的值
<script>alert(1)</script>
level 2

这里我们继续查看源码

我们继续使用 <script>alert()</script>

这里发现特殊的符号被转义了
我们重新构造payload "> <script>alert()</script> <"就通过了
level 3


这里我们发现不只是<>被实体化了 ' 也被实体化了
所以这道题需要运用到onfocus
我们构造payload ' onfocus=javascript:alert() '
然后再点击输入框获取焦点就通过了
onfocus
onfocus
是一个事件处理器属性,当 HTML 页面中的某个元素获得焦点时,会触发与之关联的事件处理函数。这个事件主要用于表单元素(如 <input>
、<textarea>
、<select>
)和可聚焦的元素(如 <a>
链接、按钮等)
level4

这道题是双引号闭合 我们构造payload " onfocus=javascript:alert() "
level 5

这道题不仅过滤了js标签 还过滤了onfocus 我们采用 a herf 标签法
构造payload
"> <a href=javascript:alert()>xxx</a> <"
构造好之后点击xss就好了
herf
href
是 HTML <a>
标签的属性,用于指定超链接的目标位置。它告诉浏览器当用户点击该链接时,应该跳转到哪里 href
可以指向网页、文件、电子邮件地址、电话号码,甚至是页面内的某个部分
level 6


这道题过滤了很多东西 但好像没过滤大小写 我们采用大小写绕过
构造payload "> <Script>alert()</Script><"
level 7

这里也是过滤了很多东西 我们采用双写绕过
构造payload
"> <a hrehreff=javasscriptcript:alert()>x</a> <"
level 8

这里需要知道herf可以自动unicode解码
制造payload javascript:alert()
编码过后
javascript:alert()
level 9

这道题过滤了 http://
制造payload javascript>alert()
这里我们需要经过html编码
javascript:alert()/* http:// */
level 10

没有输入的地方 我们查看源码

关键字
" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()> j

几乎都被实体化了 要使用get传参 这里还是要使用onfocus事件 因为没有输入框所以要加入type="text"
制造payload ?t_sort=" onfocus=javascript:alert() type="text
level 11


这里和上一道题差不多 就是需要用到refere头 传参
构造payload Referer: " onfocus=javascript:alert() type="text
Referer头的定义
Referer头是HTTP请求中的一个标头字段,用于指示当前请求的来源页面。通常由HTTP客户端(如浏览器)发送给服务器,帮助服务器了解用户是从哪个页面跳转而来的
level 12


这里是修改ua的参数完成注入 " onfocus=javascript:alert() type="text
level 13


名字为cook 考虑cookie 制造payload " onfocus=alert() type="text
level 14

这道题网站啥也没有 看下源码吧
level 15

我的出了点问题 第十五关 没跳转成功 下次再做吧