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

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

最常见的测试跨站脚本的方法,输入

以及它的各种变体

实体

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

ipt>alert(1)ipt>

还可以这样写

或者

;等

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

*反射型xss

通俗来讲,即使输入一段代码,既可以看到代码实际的效果,而非原程序的效果

如:一段代码

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

当输入以下url

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

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

/?search=

则页面的实际代码为:

document.write(?search=);

将弹出警告框,即代码被执行了,而并非页面原来显示?后字符串的效果

可以使用伪造后的url获取用户cookie

如,在示例1中加入document.cookie=("name=123");,设置cookie,然后构造url如下,实现将localhost域的cookie传递到百度并进行搜索

http://127.0.0.1/attrck.html?search=

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

*保存型xss

是指将恶意代码保存到服务器,比如发布一篇文章包含恶意代码,其他用户浏览时将执行恶意脚本

*基于dom的xss

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

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

posted on 2014-07-23 09:38 顺其自然EVO 阅读(183) 评论(0)  编辑  收藏 所属分类: 测试学习专栏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值