在安全文摘上看到一篇前端安全的文章,最后提到了几个xss在线游戏,有两个是之前就见过的,一个没玩过,好像也是之前的xss游戏。
文章地址:https://segmentfault.com/a/1190000016551188
首先看第一关,此网站需要科学上网。
https://xss-game.appspot.com/level1
页面可以看到所用的html代码和js,以及后端的py代码,简单尝试一下,可以发现是写入页面。
并且从code中可以看到,没有过滤,直接
<script>alert(2)</script>
第二关,留言框,post提交数据,直接插入图片。
<img src=@ onerror=alert(2)>
第三关,从链接猜测是锚点xss,尝试修改锚点,发现写入页面。
但是尝试后发现,并不是直接写入如上图所示页面那么简单,而是写入了img标签
查看其中的js代码,然后使用如下payload即可。
' onerror=alert(2) '
第四关,点击页面按钮后显示如下,猜测是在timer的xss,查看页面代码。
在timer.html页面下可以发现如下代码,基本可以断定是写入img标签的xss,直接使用onload事件,使用连字符直接alert()。
'-alert(2)-'
第五关,访问后是一个登陆后的页面,这里我们先退出页面。
sign up后可以看到,有输入email的地方,和next两个参数输入点,一开始以为是输入框的问题,尝试多次发现没有写入页面。
然后再signup.html页面下发现如下内容
初步判断是next参数的问题,也就是next写入img标签,尝试如下,必须点击next,一开始点击GO,一直没触发。
javascript:alert(2)