WEB开发网
开发学院网络安全安全技术 Web安全测试之跨站请求伪造(CSRF)篇 阅读

Web安全测试之跨站请求伪造(CSRF)篇

 2008-11-18 13:32:47 来源:WEB开发网   
核心提示: 然后,我们再来讨论一下攻击者对Web应用程序URL的了解,Web安全测试之跨站请求伪造(CSRF)篇(2),如果应用程序没有在URL中使用跟会话有关的信息的话,那么通过代码分析或者通过访问该应用程序并查看嵌入HTML/JavaScript中的URL以及表单来了解应用程序有关的URL、参数和

然后,我们再来讨论一下攻击者对Web应用程序URL的了解。如果应用程序没有在URL中使用跟会话有关的信息的话,那么通过代码分析或者通过访问该应用程序并查看嵌入HTML/JavaScript中的URL以及表单来了解应用程序有关的URL、参数和容许值。

接下来,我们讨论一下应用程序赖以管理会话的信息对浏览器的透明性问题。我们知道,为了提高Web应用的便利性,用来管理会话的信息,例如Cookie或者基于HTTP的身份验证(例如HTTP基本认证、非基于表单的认证)等敏感信息,都是由浏览器来存放的,并在每当向需要身份验证的应用程序发送请求时自动捎带上这些信息。也就是说,浏览器可以访问会话管理信息,如果Web应用程序完全依赖于这类信息来识别一个用户会话,这就为跨站请求伪造创造了条件。

上面所说的三个因素,是跨站请求伪造攻击的必要的条件,而下面所说的,是一个“锦上添花”的因素,即没有它也能发动跨站请求伪造攻击,但是有了它能使该攻击更加容易。这就是存在多种HTML标签,如果页面内出现这些标签,会立刻引起浏览器对http[s]资源的访问,例如图像标签img便是其中之一。

为简单起见,我们这里讨论GET方式的URL(不过这里讨论的内容同样适用于POST请求)。如果受害者已经通过身份验证,那么当他提交其它请求时,该cookie也会自动地随之发送(如图,这里用户正在访问www.example.com上的一个应用程序 )。

Web安全测试之跨站请求伪造(CSRF)篇

图1 浏览器发送请求的同时还自动发送cookie

那么,什么情况下会引起发送这个GET请求呢?这可就有多种可能了,首先当用户正常使用该Web应用程序的过程中有可能引发这个GET请求;其次,当用户直接在浏览器地址栏中键入该URL时也会引发该GET请求;再者,用户单击了指向该URL的链接,即使该链接位于该应用程序外部,也会引发该GET请求。

上一页  1 2 3 4 5 6 7  下一页

Tags:Web 安全

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接