• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试之跨站脚本执行漏洞详解

发布: 2009-4-21 09:52 | 作者: 不详 | 来源: 测试时代采编 | 查看: 68次 | 进入软件测试论坛讨论

领测软件测试网 由于目前介绍跨站脚本执行漏洞的资料还不是很多,而且一般也不是很详细,所以希望本文能够比较详细的介绍该漏洞。由于时间仓促,水平有限,本文可能有不少错误,希望大家不吝赐教。

  声明,请不要利用本文介绍的任何内容,代码或方法进行破坏,否则一切后果自负!

  【漏洞成因】
  原因很简单,就是因为CGI程序没有对用户提交的变量中的HTML代码进行过滤或转换。

  【漏洞形式】
  这里所说的形式,实际上是指CGI输入的形式,主要分为两种:
  1.显示输入
  2.隐式输入
  其中显示输入明确要求用户输入数据,而隐式输入则本来并不要求用户输入数据,但是用户却可以通过输入数据来进行干涉。
  显示输入又可以分为两种:
  1. 输入完成立刻输出结果
  2. 输入完成先存储在文本文件或数据库中,然后再输出结果
  注意:后者可能会让你的网站面目全非!:(
  而隐式输入除了一些正常的情况外,还可以利用服务器或CGI程序处理错误信息的方式来实施。

  【漏洞危害】
  大家最关心的大概就要算这个问题了,下面列举的可能并不全面,也不系统,但是我想应该是比较典型的吧。
  1. 获取其他用户Cookie中的敏感数据
  2. 屏蔽页面特定信息
  3. 伪造页面信息
  4. 拒绝服务攻击
  5. 突破外网内网不同安全设置
  6. 与其它漏洞结合,修改系统设置,查看系统文件,执行系统命令等
  7. 其它
  一般来说,上面的危害还经常伴随着页面变形的情况。而所谓跨站脚本执行漏洞,也就是通过别人的网站达到攻击的效果,也就是说,这种攻击能在一定程度上隐藏身份。

  【利用方式】
  下面我们将通过具体例子来演示上面的各种危害,这样应该更能说明问题,而且更易于理解。为了条理更清晰一些,我们将针对每种危害做一个实验。
  为了做好这些实验,我们需要一个抓包软件,我使用的是Iris,当然你可以选择其它的软件,比如 NetXray什么的。至于具体的使用方法,请参考相关帮助或手册。
  另外,需要明白的一点就是:只要服务器返回用户提交的信息,就可能存在跨站脚本执行漏洞。
  好的,一切就绪,我们开始做实验!:)

  实验一:获取其他用户Cookie中的敏感信息
  我们以国内著名的同学录站点5460.net为例来说明一下,请按照下面的步骤进行:
  1. 进入首页http://www.5460.net/
  2. 输入用户名“<h1>”,提交,发现服务器返回信息中包含了用户提交的“<h1>”。
  3. 分析抓包数据,得到实际请求:
  http://www.5460.net/txl/login/login.pl?username=<h1>&passwd=&ok.x=28&ok.y=6
  4. 构造一个提交,目标是能够显示用户Cookie信息:
  http://www.5460.net/txl/login/login.pl?username=<script>alert(document.cookie)</script>&passwd=&ok.x=28&ok.y=6
  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 脚本 漏洞 软件测试 详解

31/3123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网