危害
可被用来进行跨域访问,可能会导致“跨站点伪造请求”或“跨站点跟踪”(“跨站点脚本编制”的变体)之类的攻击,从而导致其它用户的信息被非法读取。
导致不受信任的第三方域的flash也能访问当前域的资源,绕过同源策略的限制,可为后续渗透攻击做准备,flash的跨域均可能导致XSS,CSRF等问题。
Flash 显示程序接受 AllowScriptAccess 之类的对象参数。当父 SWF 装入子 SWF,并确定被装入的 SWF 与进行装入的 SWF 是否对 Web 页面脚本有相同的访问权时,会使用 AllowScriptAccess 参数。如果参数设为“always”,父项从任何域中装入的 SWF 都可能将脚本注入托管 Web 页面中。
影响版本
小于或等于 Adobe Flash Player 28.0.0.137 版本
解决方案
解决方案:
方案1. 修改flash安全策略,做严格限制,比如限制到网站当前域。
方案2. 修改crossdomain.xml文件,找到相应目录下的crossdomain.xml文件。
找到代码:
cross-domain-policy allow-access-from domain=* cross-domain-policy
改成:
cross-domain-policy allow-access-from domain= 改成你的网站地址 cross-domain-policy
Flash CSRF形成的原因
Flash跨域权限管理文件设置为允许所有主机/域名跨域对本站进行读写数据:
#!xml
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
Flash跨域权限管理文件过滤规则不严(domain=”*”),导致可以从其它任何域传Flash产生CSRF。
哪些地方存在Flash CSRF(针对网站管理者)
Flash CSRF是因为跨域权限管理文件配置不当而产生的,所以我们可以在根目录打开Crossdomain.xml来查看该网站或者只域名是否存在FLAH的CSRF:
http://www.xxx.com/crossdomain.xml
发现如下代码就说明可能存在Flash CSRF
#!xml
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>