您的位置:首页 > 其它

flash开发中的几个安全问题

2014-01-13 10:53 148 查看
一,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:无法进行任何网络相关动作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: