[计算机]测试Web应用程序是否存在跨站脚本漏洞XSS.doc

[计算机]测试Web应用程序是否存在跨站脚本漏洞XSS.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]测试Web应用程序是否存在跨站脚本漏洞XSS

到目前为止,对于跨站点脚本攻击具有很大的威胁这一点大家并无异议。如果您很精通 XSS并且只想看看有什么好的测试方法可供借鉴,那么请直接跳到本文的测试部分。如果您对此一无所知,请按顺序认真阅读!如果某个怀有恶意的人(攻击者)可以强迫某个不知情的用户(受害者)运行攻击者选择的客户端脚本,那么便会发生跨站点脚本攻击。“跨站点脚本”这个词应该属于用词不当的情况,因为它不仅与脚本 有关,而且它甚至不一定是跨站点的。所以,它就是一个在发现这种攻击时起的一个名字,并且一直沿用至今。从现在开始,我们将使用它常见的缩写名称 “XSS”。 XSS攻击的过程涉及以下三方: ? 攻击者 ? 受害者 ? 存在漏洞的网站(攻击者可以使用它对受害者采取行动) 在这三方之中,只有受害者会实际运行攻击者的代码。网站仅仅是发起攻击的一个载体,一般不会受到影响。可以用多种方式发起 XSS攻击。例如,攻击者可通过电子邮件、IM或其他途径向受害者发送一个经过经心构造的恶意 URL。当受害者在 Web浏览器中打开该 URL的时侯,网站会显示一个页面并在受害者的计算机上执行脚本。 XSS漏洞是什么样的呢? 作为一名 Web开发人员或测试人员,您肯定知道 Web应用程序的技术基础是由 HTTP和 HTML组成的。HTTP协议是 HTML的传输机制,可使用代码设计 Web页面布局和生成页面。 如果 Web应用程序接受用户通过 HTTP请求(如 GET或 POST)提交的输入信息,然后使用输出 HTML代码在某些地方显示这些信息,便可能存在 XSS漏洞。下面是一个最简单的例子: 1. Web请求如下所示: GET /page.asp?pageid=10amp;lang=entitle=Section%20Title 2.在发出请求后,服务器返回的 HTML内容包括: h1Section Title/h1 可以看到,传递给“title”查询字符串参数的用户输入可能被保存在一个字符串变量中并且由 Web应用程序插入到 h1标记中。通过提供输入内容,攻击者可以控制 HTML。 3.现在,如果站点没有在服务器端对用户输入加以过滤(因为总是可以绕过客户端控件),那么恶意用户便可以使用许多手段对此漏洞加以滥用: 攻击者可以通过摆脱 h1标记来注入代码: /page.asp?pageid=10lang=entitle=Section%20Title/h1scriptalert(‘XSS%20attack’)/script 这个请求的 HTML输出将为: h1Section Title/h1scriptalert(‘XSS attack’)/script 即便是这个最简单的例子,攻击者也可以利用此连接完成数不清的事情。让我们看看会有哪些潜在的威胁,然后讨论一些更高级的测试方法。 XSS攻击的威胁有多么严重? 由于能够在生成的 Web页面中注入代码,能想到的威胁有多么严重,就可以有多么严重的威胁。攻击者可以使用 XSS漏洞窃取 Cookie,劫持帐户,执行 ActiveX,执行 Flash内容,强迫您下载软件,或者是对硬盘和数据采取操作。 只要您点击了某些 URL,这一切便有可能发生。每天之中,在阅读来自留言板或新闻组的受信任的电子邮件的时侯,您会多少次地单击其中的 URL? 网络钓鱼攻击通常利用 XSS漏洞来装扮成合法站点。可以看到很多这样的情况,比如您的银行给你发来了一封电子邮件,向您告知对您的帐户进行了一些修改并诱使您点击某些超链接。如果仔 细观察这些 URL,它们实际上可能利用了银行网站中存在的漏洞,它们的形式类似于 /somepage?redirect=lt;scriptalert(‘XSS’) /script,这里利用了“redirect”参数来执行攻击。 如果您足够狡猾的话,可以将管理员定为攻击目标,您可以发送一封具有如下主题的邮件:“求救!这个网站地址总是出现错误!”在管理员打开该 URL后,便可以执行许多恶意操作,例如窃取他(或她)的凭证。 好了,现在我们已经理解了它的危害性 --危害用户,危害管理员,给公司带来坏的公共形象。现在,让我们看看本文的重点 --测试您的网站是否存在这些问题。 测试 XSS漏洞 我将好的测试计划归结为两个字:彻底。对于你我来说,查找这些漏洞与能够有机会在 Bugtraq或 Vulnwatch上吹嘘一番没有任何关系;它只与如何出色完成负责的工作有关。如果这意味着对应用程序中所有的单个查询字符串参数、cookie值 以及 POST数据值进行检查,那么这只能表明我们的工作还不算太艰巨。 显然,一次完整的安全性检查所涉及的内容通常远远超出寻找 XSS漏洞那样简单;它需要建立整体的威胁模型,测试溢出漏洞、信息泄漏

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档