WEB开发网
开发学院网络安全安全技术 专家深入解析跨站请求伪造漏洞(上) 阅读

专家深入解析跨站请求伪造漏洞(上)

 2008-12-25 13:44:09 来源:WEB开发网   
核心提示: http://example.com/send_email.htm?to=carol%40example.com&subject=hi+Carol&msg=test 这里会出现CSRF攻击,原因是send_email.htm会把收到的数据悉数提取,专家深入解析跨站请求伪造漏洞(上)(4),

http://example.com/send_email.htm?to=carol%40example.com&subject=hi+Carol&msg=test

这里会出现CSRF攻击,原因是send_email.htm会把收到的数据悉数提取,然后发电子邮件。它没有对自compose.htm页面的表单中的数据进行检验。因此,攻击者只要设法让用户向send_email.htm发送一个请求,那么send_email.htm这个页面就会引起example.com发送一封电子邮件,要紧的是,该邮件是以该用户名义发送的,并且包含的是攻击者任意选择的任何数据,这样攻击者就成功地进行了一次CSRF攻击。 

为了利用这个弱点,攻击者需要强迫用户的浏览器向send_email.htm发送一个请求来完成一些邪恶的动作。我们假定用户浏览了一个为攻击者所控制的站点,并且目标站点没有采取针对CSRF攻击的防御措施。具体地说,攻击者需要伪造一个跨站请求,该请求的发源地是从他的站点,目的地为example.com,中间会路过受害者的浏览器。令人遗憾的是,HTML为制造这种请求提供了多种方式。例如,浏览器遇到标签时,任何被设置为src属性的URI都会被加载,即使那个URI不是一幅图像。攻击者可以用以下代码创建一个页面:

{img src="http://example.com/send_email.htm?to=mallory%40example.com&subject=Hi&msg=My+email+address+has+been+stolen"}

当用户访问这个页面时,一个请求被发送到send_email.htm,然后,将有一封来自该用户的电子邮件被发送给Mallory。这个例子跟后面将要介绍的纽约时报站点上发现的漏洞几乎完全一致。

要想成功发动CSRF攻击,攻击者只要能够引起用户的浏览器在另一个站点上执行一个非本意的动作即可,当然前提是用户必须有执行该动作的权限。CSRF攻击能获取跟用户一样大的权限,即任何用户可以执行的动作,攻击者利用CSRF攻击也能完成。所以,站点赋予用户的权限越大,受到CSRF攻击的可能性就越高,CSRF攻击带来的后果也越严重。

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

Tags:专家 深入 解析

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