Flash访问https资源时会发生什么?

时间:2010-11-07 00:06:50

标签: flash security ssl https crossdomain.xml

如果位于http://example.com/test.swf的swf向https://secure.com/webservice.xml发出请求,会发生什么? Adobe关于跨域策略文件的文档记录了“安全”属性。

  

安全:[仅限HTTPS和套接字,   可选]指定是否访问   仅授予来自的HTTPS文档   指定的原点(tr​​ue)或全部   来自指定来源的文件   (假)。如果未指定安全性   一个HTTPS策略文件,默认为   真正。在HTTPS策略中使用false   不推荐使用此文件,因为这样   妥协所提供的安全性   HTTPS;例如,允许   获得中间人的攻击   访问受保护的HTTPS数据   政策文件。

这是否意味着Flash播放器实际上会发出HTTP请求,而不是HTTPS?是否存在对从非安全域提供的.swf文件不太信任的假设的问题?如果Flash播放器发出正确的SSL请求,我看不到其他中间人漏洞来自哪里。如果没有,我必须认为Web服务器可能会被配置为拒绝它。

1 个答案:

答案 0 :(得分:1)

不。如果将属性secure设置为false,Flash应用程序将不会发出http请求。它会通过https发出https来源请求。但主要的想法是,此属性设置为false,允许Flash与其他http资源建立连接。在这一刻,可以制造“中间人”攻击。想象一下情况。您的Flash应用程序从https加载一些文档,并使用它的api在某个Web服务器上处理它们,但是通过http,而不是安全的连接。从https加载的数据将通过简单的http由Flash传递到Web服务器。如果您将secure属性设置为true,则会告知Flash https中的文档需要安全性。并且Flash不会再从那时起发出简单的http请求,因为来自https的数据可能被程序算法插入到这个不安全的请求中。