Ricky Hao

XSS-Game

一个简单的XSS-Game

XSS game

Level 1

这第一题只是简单的xss而已,没做过滤什么的。

alert(1)

Level 2

查看源码发现,也没做过滤。这是个储存型XSS,看到默认发的那篇POST能够使用HTML标签,那么就在此之上稍微加工一下即可。

xxxxx

Level 3

这里稍微看下源码,可以发现

html += "";

在这句里,num参数未经过过滤就直接带入生成HTML语句。那么我们可以构造

https://xss-game.appspot.com/level3/frame#'/>alert(1)

补全img标签,再加入script脚本即可。

Level 4

这里通过源代码可以发现,在输入的时候对输入数据进行了一个HTML实体化的转义,因此“等符号被转义成HTML实体,也就不能运行。
hint说输入一个'单引号。

可以在源代码中发现这个单引号是未被转义可用的。那么我们就可以搞事情了~
当浏览器解析标签属性的时候,会先对值中的HTML实体编码进行解码

3'),alert('1

Level 5

一开始没什么头绪,看了源码发现email参数完全没用。也就是说,我们不能在输入数据这段搞事。
后来发现在signup页面里,那个Next按钮的跳转链接是我们可以控制的。
一个神奇的Javascript运行方式–URL中的JavaScript
那么payload就来了

signup?next=javascript:alert("1")

Level 6

这一题用的是跨站脚本。我们发现在URL的#之后的地址的JS脚本会被加载,那么就在自己服务器上写个JS脚本引用即可。
当然,这里用JS过滤了下:

if (url.match(/^https?:\/\//))

这个过滤我就不想说什么了。。http改成大写即可。

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据