WEB开发网
开发学院图形图像Flash 谈谈Silverlight的一个跨域安全考虑 阅读

谈谈Silverlight的一个跨域安全考虑

 2008-11-24 11:53:04 来源:WEB开发网   
核心提示: 假设一个顾客在淘宝www.taobao.com 上面购买了一些东西,登录的会话验证信息可能会存放在Cookie中,谈谈Silverlight的一个跨域安全考虑(3),然后这个顾客又访问了一个恶意网站(www.eyi.com 当然域名没那么弱了^^),这个恶意网站会向淘宝发送一些登录的HTT

假设一个顾客在淘宝www.taobao.com 上面购买了一些东西,登录的会话验证信息可能会存放在Cookie中,然后这个顾客又访问了一个恶意网站(www.eyi.com 当然域名没那么弱了^^),这个恶意网站会向淘宝发送一些登录的HTTP请求。因为这个时候是属于跨域请求,所以Silverlight Runtime会去查找网站根目录下有没有这个策略文件,发现有(并且通过了文件里面定义的访问权限的验证),那么这个请求就会被允许,同时会把你在www.taobao.com 上面的Cookie也连带发送到淘宝系统那里,那么这个时候,这个恶意网站是不是就在你不知情的情况下登录到了淘宝后台,然后这个时候他就可以执行一些你不期望的操作了。

当然这个例子能不能work还有待商榷,只是通过这个例子想告诉大家的是,对于策略安全文件一定要非常小心的配置好访问权限,暴露给第三方的Web服务(涉及到跨域策略安全的),最好放在一个隔离的域下,这样可以降低安全风险。

不知道我这样理解有没有问题,如果不正确的话请纠正我~

下面这张是Silverlight的跨域场景示意图

谈谈Silverlight的一个跨域安全考虑

还要说明的一点是,Silverlight Runtime在检测安全策略文件时,是先检测clientaccesspolicy.xml再检测crossdomain.xml文件(当然拉,自己的东西肯定先检测了)。一旦请求完成,策略文件在整个应用程序会话周期内一直有效(这个感觉和浏览器为了防止DNS Rebinding攻击的做法是类似的),也就是说不用每次都请求这个文件了。如果第一次请求该文件失败,那么接下来的请求同样的也会失败。

策略文件只能放置在根目录下,无论你当前请求的资源是位于网站的哪个目录下。

策略文件本身不允许服务器将其重定向,响应的状态码只能是200或者404,但是请求的资源本身是可以被重定向的,只要源URL和目标URL都在跨域策略文件中声明了。

上一页  1 2 3 

Tags:谈谈 Silverlight 一个

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