Web安全测试之跨站请求伪造CSRF篇.docx

上传人:lao****ou 文档编号:127201 上传时间:2023-04-05 格式:DOCX 页数:7 大小:69.49KB
下载 相关 举报
Web安全测试之跨站请求伪造CSRF篇.docx_第1页
第1页 / 共7页
Web安全测试之跨站请求伪造CSRF篇.docx_第2页
第2页 / 共7页
Web安全测试之跨站请求伪造CSRF篇.docx_第3页
第3页 / 共7页
Web安全测试之跨站请求伪造CSRF篇.docx_第4页
第4页 / 共7页
Web安全测试之跨站请求伪造CSRF篇.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Web安全测试之跨站请求伪造CSRF篇.docx》由会员分享,可在线阅读,更多相关《Web安全测试之跨站请求伪造CSRF篇.docx(7页珍藏版)》请在第一文库网上搜索。

1、本文将简单介绍CSRF漏洞,并详细说明造成这种漏洞的原因所在,以及针对该漏洞的黑盒测试与灰盒子测试具体方法和示例,最后提提了一些防范该攻击的建。51CT0. com独家特稿】跨站请求伪造(即CSRF)被Web安全界称为诸多漏洞中“沉睡的巨人”,其威胁程度由此“美誉”便可见一斑。本文将简单介绍该漏洞,并详细说明造成这种漏洞的原因所在,以及针对该漏洞的黑盒测试与灰盒子测试具体方法和示例,最后提提了一些防范该攻击的建议,希望本文对读者的安全测试能够有所启发。一、CSRF概述我们首先来了解一下什么是跨站请求伪造(CSRF) ?跨站请求伪造是一种挟制终端用户在当前已登录的Web应用程序上执行非本意的操作

2、的攻击方法。攻击者只要借助少许的社会工程诡计,例如通过电子邮件或者是聊天软件发送的链接,攻击者就能迫使个Web应用程序的用户去执行攻击者选择的操作。例如,如果用户登录网络银行去查看其存款余额,他没有退出网络银行系统就去了自己喜欢的论坛去灌水,如果攻击者在论坛中精心构造了 个恶意的链接并诱使该用户点击了该链接,那么该用户在网络银行帐户中的资金就有可能被转移到攻击者指定的帐户中。当CSRF针对普通用户发动攻击时,将对终端用户的数据和操作指令构成严重的威胁;当受攻击的终端用户具有管理员帐户的时候,CSRF攻击将危及整个Web应用程序。二、造成CSRF的原因跨站请求伪造能否得逞,与以下几个方面密不可分

3、,分别是浏览器对会话的处理,攻击者对Web应用有关URL的/解,应用程序赖以管理会话的信息对浏览器的透明性以及各种能够引发资源请求HTML标签等。下面分别加以解释。首先,我们来了解些肥b浏览器对于Cookie和HTTP身份验证信息之类的会话信息的处理方式。目前,浏览器会自动地发送标识用户对话的信息,而无需用户干预,换句话说,当浏览器发送这些身份信息的时候,用户根本感觉不到。假设站点A上有一个Web应用程序,并且受害者正好已经在该站点上通过了身份认证,这时,站点会向受害者发送个cookie作为响应,这个cookie的作用是什么呢?主要是被站点作为用户会话的标志,即如果站点收到了带有受害者的coo

4、kie的请求,那么它就会把这个请求看作是已登录的受害者发来的。般情况下,浏览器收到站点设置的cookie之后,每当向该站点发送请求的时候,浏览器都会“自动地”连同该cookie一起发出。然后,我们再来讨论一下攻击者对Web应用程序URL的了解。如果应用程序没有在URL中使用跟会话有关的信息的话,那么通过代码分析或者通过访问该应用程序并查看嵌入HTML/JavaScript中的URL以及表单来了解应用程序有关的URL、参数和容许值。接下来,我们讨论一下应用程序赖以管理会话的信息对浏览器的透明性问题。我们知道,为了提高Web应用的便利性,用来管理会话的信息,例如Cookie或者基于HTTP的身份验

5、证(例如HTTP基本认证、非基于表单的认证)等敏感信息,都是由浏览器来存放的,并在每当向需要身份验证的应用程序发送请求时自动捎带上这些信息。也就是说,浏览器可以访问会话管理信息,如果Web应用程序完全依赖于这类信息来识别一个用户会话,这就为跨站请求伪造创造了条件。上面所说的三个因素,是跨站请求伪造攻击的必要的条件,而下面所说的,是一个“锦上添花”的因素,即没有它也能发动跨站请求伪造攻击,但是仃了它能使该攻击更加容易。这就是存在多种HTML标签,如果页面内出现这些标签,会立刻引起浏览器对https资源的访问,例如图像标签img便是其中之一。为简单起见,我们这里讨论GET方式的URL (不过这里讨

6、论的内容同样适用于POST请求).如果受害者已经通过身份验证,那么当他提交其它请求时,该cookie也会门动地随之发送(如图,这里用户正在访问上的一个应用程序)。脑执gbE聿请充ANID=rvssn rl.这3uuki剧取盘相淞窗lu jk.SzSS C MID-yss nd图1浏览器发送请求的同时还自动发送cookie那么,什么情况下会引起发送这个GET请求呢?这可就有多种可能了,首先当用户正常使用该Web应用程序的过程中有可能引发这个GET请求;其次,当用户直接在浏览器地址栏中键入该19时也会引发该GET请求;再者,用户单击了指向该URL的链接,即使该链接位于该应用程序外部,也会引发该GE

7、T请求。对于应用程序来说,它是无法区分上面的这些差别的。特别是第三种可能是非常危险的。有许多技术(和漏洞)可以隐藏一个链接的真实属性。链接可以嵌入电子邮件消息中,也可以出现在存心不良的Web站点,然后引诱用户浏览该站点,例如链接出现在位于其他主机上(其它Web站点、HTML格式的电子邮件消息,等等)的内容中,并且指向应用程序的资源。如果用户单击了该链接,由于他已经通过了站点上Web应用程序的认证,所以浏览器就会发出一个GET请求给该Web应用程序,同时将验证信息(包含会话id的cookie) 一并发过去。这样会导致在Web应用程序上执行一个有效操作一一该操作可能不是该用户所想要的,例如一个引起

8、在网络银行上进行转帐恶意的链接,等等。如前所述,通过使用诸如img之类的标签,甚至不需要用户点击具体的链接就能发动攻势。假设攻击者向用户发送了 封电子邮件,诱骗用户访问个URL,向该URL则指向个包含下列HTML内容(注意,内容已作精简)的页面:htmlbody(img src=z,https : /www. company. exampleactionz, width=,0height=,0z,)/bodyhtml用时将换成当浏览器显示该页面时,它也将设法显示这个指定宽度为0的图像,即该图像是不可见的一一这会导致自动向站点中的Web应用程序发送一个请求。要紧的是,浏览器不管该图像URL实际是

9、否指向一个图片,只要src字段中规定了 URL,就会按照该地址触发一个请求。当然,这里有一个前提,那就是浏览器没有禁止下载图像一一实际上浏览器都配置成允许下载图像,因为禁用图像后大多数Web应用程序的可用性就会大打折扣。与跨站请求伪造有关的HTML标签问题是总结如下:页面中有许多标签会导致自动发出HTTP请求(img标签便是其中之一):浏览器无法断定img标签所引用的资源到底是不是图像以及是否是有害的;当加载图像时,根本就不考虑所涉及的图像所在的位置,即表单和图像不必位于同一个主机上,甚至可以不再同一个域内。虽然这是一个非常便利的特性,但是却给应用程序的隔离制造的障碍。正是由于与Web应用程序

10、无关的HTML内容可以引用应用程序中的各种组件,以及浏览器可以自动为该应用程序构造一个有效的请求这两个事实才导致了这种攻击的出现。这意味着,正确的URL必须包含用户会话有关的信息,而攻击者却无法得知这些信息,因此不可能识别这样的URL。对于集成了邮件/浏览器功能的工作平台,跨站请求伪造问题可能更为严重,因为,仅仅显示-封包含该图像的电子邮件就会导致请求及有关浏览器cookie 起向Web应用程序发去。另外,攻击者还可以对这些东西进行伪装,例如引用貌似合法的图像URLs,例如(img src=,https :/ / attacker /picture. gif, width=,z0z, heig

11、ht=,z0,)用时将()换成这里,attacker是攻击者控制下的站点,并通过重定向机制将http:attacker/picture.gif 转向 http:thirdparty action如果Web应用程序的会话信息完全靠浏览器来提供的话,那么这样的Web应用程序也都易于受到攻击,其中包括那些仅依赖于HTTP身份验证机制的那些应用程序,因为浏览器知道这些验证信息,并会在发送每个请求的时候自动附带这些验证信息。当然,这不包括基于表单的认证,它只发出一次,并且生成了有关会话信息的表单一一当然,如果这样的信息就像cookie那样进行简单的传递的话,这就有回到了之前的情形。三、跨站请求伪造情景分

12、析假如受害者已经登录到个防火墙的Web管理应用程序上。我们知道,当用户登录时,Web应用会进行身份验证,通常是要求用户提供其用户名和密码,如果用户名和密码正确则会通过身份认证;随后,呢b应用会在客户端存放一个小文本文件,即cookie来存放会话信息。假设防火墙有一个基于Web的管理接,我们称之为防火墙Web管理程序,其中具有一个这样功能或者说一个页面,即允许认证的用户通过规则编号删除指定的规则,或者通过输入删除全部已配置的规则一一这的确是一个小常危险的功能。该删除页面显示如下。假如该表单(我们已经对其进行了简化)引起一个GET请求,那么该请求将如下所示https : target/fwmgt/

13、delete?rule=l(删除一号规则)https : target/fwmgt/delete?rule=*(删除全部规则)。该范例是故意十分天真的,这是为了便于说明CSRF的危险性。删除防火墙规则的页面如卜所示:Mozilla Firefox文件(F) (E) 1 (V)历史(S)书签 工具(T)帮助(H)访问最多的新手上路最新头条自定义值接* 1免费Hot nail l Vndo*s l Windows Media Q簌入要除的娱M的编号或者的人,以除所有MUM :制除51CT0xom技术成就梦想图2防火墙管理页面因此,如果我们键入值“*,并按下删除按钮,就会提交下列GET请求:二*其结

14、果当然是删除所有防火墙规则了,呵呵,后果很严重呀!如下图所示:9Mozilla Firefox文件(F) ffitt (E)查看(V)历史(S)书签工具(T)鞘助(H)- C * 1 https:/w. company, exajplefvngtdelete7rule* - M访问最多斯手上路it最新头务:自定义检接免费Hotnail Vndovs Vndovs Media Q急己经成功除了所有防火病长剜。缱续51CTOM1技术成就-一图3 删除所有防火墙规则实际上,这并非唯一可能的情形。用户也可以手动提交URLhtlpstargel fwmgt/delete ?Rule=*来达到相同的效果。

15、或者通过单击一个宜接指向以上IRL的链接或通过重定向到达以上URL的链接。或者同样也可访问一个嵌入了指向相同的URL的img标签的HTML页面。在这些情况下,如果用户当前已经登录到防火墙管理程序,那么该请求将得逞并会修改防火墙的配置。此外,我们还可以设想攻击是针对敏感的应用程序、进行自动的拍卖投标、转帐、订货、改变关键软件组件的配置等等。更有趣的是,这些漏洞都可以在防火墙之后进行利用,即只要被攻击的链接是受害者所能访问的即可,而不必非得攻击者能够直接访问才行。尤其是,它可以是任何内部网Web服务器,例如,之前提到的防火墙管理工作站,它大不可能暴露于国际互联网。对于那些既可以用作攻击矢量,布.是攻击EI标的应用程序(例如web邮件应用程序),情况就更糟了:如果这样的应用程序是易受攻击的,那么用户阅读包含CSRF攻击的信件时很明显已经登录到程序了,它会以web邮件应用程序为目标,并让邮件应用程序执行删除信件、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服