专家深入解析跨站请求伪造漏洞(上)
2008-12-25 13:44:09 来源:WEB开发网同源策略仅仅阻止了第三方站点读取来自其他站点的内容,但是却没有防止这些第三方站点向其他站点发出请求。因为CSRF攻击是由于某些请求被发出(而引起在服务器端执行了某些动作)所引起的,所以同源策略只能用来保护第三方站点上的数据的私密性,但是同源策略无法防止CSRF攻击。
七、跨域策略与跨站请求伪造
对于有些站点来说,进行跨域通信是非常有用的,有时候甚至的必不可少的。鉴于此,Adobe提出了一个机制,称为跨域策略,该策略在某些情况下可以允许它的Flash插件跟不同的域进行通信即发送和接收数据。该机制当前只用于Flash,具体地说,站点能够规定哪些第三方站点可以访问它。第三方站点只能跟其跨域策略文件中规定的第三方站点进行联络。下面的跨域策略文件允许访问源自www.friendlysite.com、*.trusted .com 和IP地址64.233.167.99的请求。这些文件被命名为crossdomain.xml并放在该域的根目录下。
{?xml version="1.0"?}{cross-domain-policy}
domain="www.friendlysite.com" /}
{allow-access-from domain="*.trusted.com" /}
{allow-access-from domain="64.233.167.99" /}
{/cross-domain-policy}
假设以上文件位于http://trusted.com/crossdomain.xml。如果evil.com使用Flash向http://trusted.com/private.htm发出了一个请求,Flash将首先加载http://trusted.com/crossdomain.xml以检验evil.com是否已作为受信任的域列于其中。因为它没有列于其中,所以该请求就会被阻止。相反,如果同一请求来自www.friendlysite.com的话,则Flash将允许该请求,这是因为www.friendlysite.com已经位于被许可的列表中了。
更多精彩
赞助商链接