如果位于http://example.com/test.swf的swf向https://secure.com/webservice.xml发出请求,会发生什么? Adobe关于跨域策略文件的文档记录了“安全”属性。
安全:[仅限HTTPS和套接字, 可选]指定是否访问 仅授予来自的HTTPS文档 指定的原点(true)或全部 来自指定来源的文件 (假)。如果未指定安全性 一个HTTPS策略文件,默认为 真正。在HTTPS策略中使用false 不推荐使用此文件,因为这样 妥协所提供的安全性 HTTPS;例如,允许 获得中间人的攻击 访问受保护的HTTPS数据 政策文件。
这是否意味着Flash播放器实际上会发出HTTP请求,而不是HTTPS?是否存在对从非安全域提供的.swf文件不太信任的假设的问题?如果Flash播放器发出正确的SSL请求,我看不到其他中间人漏洞来自哪里。如果没有,我必须认为Web服务器可能会被配置为拒绝它。
答案 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
的数据可能被程序算法插入到这个不安全的请求中。