flash开发中的几个安全问题

一,Security.allowDomain
   若没必要,建议不要使用Security.allowDomain,Security.allowDomain允许网站A的swf文件跨域调用网站B的swf文件的对象和变量,启用该函数的时候可能被其他网站调用,
   导致安全问题。如果一定要使用该函数,请务必对允许的域名进行白名单限制,并对数据来源进行校验。
   例如:域名a.com下的flash文件-a.swf,域名b.com下的flash文件-b.swf,则为了防止被a.swf调用,则b.swf需要禁止Security.allowDomain。
   
二,Security.allowInsecureDomain
   Security.allowInsecureDomain允许网站A的swf文件跨协议(http可调用https站点信息)跨域调用网站B的swf文件的对象和变量,启用该函数的时候可能被其他网站调用,导致安全问题。
   因此,建议禁止。
   
三,crossdomain.xml
   crossdomain.xml文件放到http://rootdomain/crossdomain.xml,用于指定该域名下的资源(图片,flash,页面内容等)是否允许远程的flash加载。如果配置不当,可能带来CSRF等攻击。
   安全配置示例
   1、对于不需要外部加载资源的网站,可以删除crossdomain.xml。
   2、crossdomain.xml中更改allow-access-from的domain属性为允许的域名白名单,通常应限制在允许域名的子域下。如:
   http://cb.qq.com/crossdomain.xml的配置:   
   <cross-domain-policy>
      <allow-access-from domain="act.cb.qq.com"/>
      <allow-access-from domain="cb.qq.com"/>
      <allow-access-from domain="*.qq.com" secure="false"/>
   </cross-domain-policy>


四,禁止把敏感信息存储到flash shareobject
    shareObject可以将信息(类似cookie)存储在本地用户硬盘上(以WIN 7为例:C:\Users\[你的用户名]\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\[随机八位字符]\[域]\[进行存储控制的文件的路径,直到swf文件名]\)的文件。
如果文件中存有用户或业务的敏感信息,将造成安全问题。注意:目前该文件的加密已经被破解,因此对敏感信息不能存储到shareobject对象,需要考虑存储到后台服务器。


五,安全标签的配置
  网页在引入flash的时候,会通过object/embed标签,在设置标签的时候,需要合理配置这些标签的属性,否则可能引起安全问题。
  1,allowScriptAccess:是否允许flash访问浏览器脚本,如果不对不信任的flash限制,默认会允许调用浏览器脚本,产生XSS漏洞。
     always:总是允许HTML通信也就是Javascript执行;
     sameDomain:允许来自本域的flash与HTML通信;
     never:不允许flash与页面通信。


  2,allowNetworking:是否允许flash访问ActionScript中的网络API,如果不对不信任的flash限制,会带来flash弹窗、CSRF等问题。
     all:允许所有功能,会带来flash弹窗危害;
     internal;可以向外发送请求/加载网页;
     none:无法进行任何网络相关动作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值