在安全文摘上看到一篇前端安全的文章,最后提到了几个xss在线游戏,有两个是之前就见过的,一个没玩过,好像也是之前的xss游戏。

文章地址:https://segmentfault.com/a/1190000016551188

首先看第一关,此网站需要科学上网。

https://xss-game.appspot.com/level1

页面可以看到所用的html代码和js,以及后端的py代码,简单尝试一下,可以发现是写入页面。

1538223721639

并且从code中可以看到,没有过滤,直接

<script>alert(2)</script>

第二关,留言框,post提交数据,直接插入图片。

1538223859770

<img src=@ onerror=alert(2)>

第三关,从链接猜测是锚点xss,尝试修改锚点,发现写入页面。

1538223944364

但是尝试后发现,并不是直接写入如上图所示页面那么简单,而是写入了img标签

1538224035186

查看其中的js代码,然后使用如下payload即可。

1538224072534

' onerror=alert(2) '

第四关,点击页面按钮后显示如下,猜测是在timer的xss,查看页面代码。

1538224180436

在timer.html页面下可以发现如下代码,基本可以断定是写入img标签的xss,直接使用onload事件,使用连字符直接alert()。

1538224258940

'-alert(2)-'

第五关,访问后是一个登陆后的页面,这里我们先退出页面。

1538225436230

sign up后可以看到,有输入email的地方,和next两个参数输入点,一开始以为是输入框的问题,尝试多次发现没有写入页面。

1538225475401

然后再signup.html页面下发现如下内容

1538225564747

初步判断是next参数的问题,也就是next写入img标签,尝试如下,必须点击next,一开始点击GO,一直没触发。

javascript:alert(2)




# web安全  

tocToc: