XSS Challenge

Posted dio-hch

tags:

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

XSS Challenges

http://xss-quiz.int21h.jp/

 

Stage #13

技术图片

  Hint:style attribute;要用到style属性,在style属性中有个expression属性可以来完成,但是只能是IE6以下的浏览器才支持;

 技术图片

 技术图片

  将浏览器切换到IE5兼容模式,然后输入payload

 技术图片

 

Stage #14

 技术图片

  Hint:对url、script、eval、expression做了过滤,将这些单词转换成xxx,我们无法通过大小写、双写绕过,但是可以用注释绕过;

 技术图片

 

Stage #15

 技术图片

  Hint:document.write();

  查看返回;

 技术图片

  发现直接返回在<script>标签中,直接输入payload;

 技术图片

 技术图片

  查看源码发现<、>被编码了,因为返回直接是在script标签中,所以我们可以通过编码绕过,script可以执行编码过的内容,这里我们采用unicode编码;

 技术图片

 

Stage #16

 技术图片

  Hint:多了一个过滤,将x转换成x;好像我之前的方法同样适用;

 技术图片

 

Stage #17

 技术图片

  Hint:多字节字符以及要用旧版IE,先测试一下返回;

 技术图片

  两个参数均返回在value属性中,注意闭合引号;

 技术图片

  发现引号被过滤,<、>也均被过滤,那么考虑直接用onmouseover等属性来代替<、>,根据提示本题存在宽字节漏洞,又因为本题存在两个参数,那么我们将第一个value的后面的引号用宽字节吃掉,后面的value的第一个引号就会变成第一个value第一个引号的闭合引号,我们直接在第二个参数输入payload即可;

技术图片

技术图片

  发现未成功,原理应该是对的,此处可能是IE版本的缘故;

 

Stage #18

 技术图片

  Hint:ascii高比特位的问题,去查了一下原来在IE8之前,浏览器会将8位的二进制只取7位来解释!先测试一下返回;

技术图片

  返回在value属性中,先试一下正常闭合引号的payload;

技术图片

  可以发现引号、<、>均被过滤了,那么我们试着改变其ASCII码的高位;

  • <的16进制是3C,二进制是0011 1100,那么将高位的0改成1后变成1011 1100,即BC;
  • >同理变成BE;
  • “同理变成A2;

 技术图片

技术图片

  最后因为IE版本的问题并没有成功;

 

 

   END~

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

Pikachu靶场之XSS漏洞详解

什么是 XSS攻击?

Pikachu之XSS

web安全之XSS攻击原理及防范

web安全之XSS攻击原理及防范

Pikachu漏洞练习平台实验——XSS