XSS-Game

  • A+
所属分类:安全博客

一个简单的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改成大写即可。

FROM :rickyhao.com | rickyhao.com

相关推荐: 记XDCTF 2015 Final

记XDCTF 2015 Final Last updated:Dec.27, 2015 CST 02:19:12 这是一场临时组队被各路大神花式吊打的比赛经历。 周四中午吃饭的时候,老师打电话过来,叫组一支队过去参加Final。然后,就和@Ricky 和@Ul…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: