还剩3页未读,继续阅读
文本内容:
Flash平安的一些总结WEB平安电脑资料了下Flash平安相关的知识,后面会再完善
一、先来说crossdomain.xml这个文件flash如何跨域通信,全靠crossdomain.xml这个文件,比方下面的列子
1、.a.域下不存在crossdomain.xml文件,那么不允许除了.a.域之外的其他任何域下的flash进行跨域请求
2、.a.域下存在crossdomain.xml文件,如假设配置allow-aess-from为.b.,那么只允许.b.域下的flash进行跨域请求,以及自身域.a.的网络请求crossdomain.xml需严格遵守XML语法,有且仅有一个根节点cross-domain-policy,且不包含任何属性在此根节点下只能包含如下的子节点site-controlallow-aess-fromallow-aess-from-identityallow--request-headers-fromsite-control早期的flash允许从其他位置载入自定义的策略文件,目前最新版的flash在接受自定义的策略文件之前会去检查主目录的crossdomain.xml来判断是否接受自定义策略文件该选项就由site-control进行控制不加该选项时,默认情况下flash不加载除主策略文件之外的其他策略文件,即只接受根目录下的crossdomain.xml,这样可以防止利用上传自定义策略文件进行的攻击如果需要启用其他策略文件,那么需要配置permitted-cross-domain-policies属性,该属性有以下五个值none:不允许使用loadPolicyFile方法加载任何策略文件,包括此主策略文件master-only:只允许使用主策略文件[默认值]by-content-type:只允许使用loadPolicyFile方法加载/S协议下Content-Type为text/x-cross-domain-policy的文件作为跨域策略文件by-ftp-filename:只允许使用loadPolicyFile方法加载FTP协议下文件名为crossdomain.xml的文件作为跨域策略文件all:可使用loadPolicyFile方法加载目标域上的任何文件作为跨域策略文件,甚至是一个JPG也可被加载为策略文件!例子允许通过/S协议加载头中Content-Type为text/x-cross-domain-policy的文件作为策略文件允许加载任意文件作为策略文件allow-aess-from该选项用来限制哪些域有权限进行跨域请求数据allow-aess-from有三个属性domain有效的值为IP、域名,子域名代表不同的域,通配符*单独使用代表所有域通配符作为前缀和域名进行组合代表多个域,比方*.weibo.代表weibo.所有的子域to-ports该属性值说明允许访问读取本域内容的socket连接端口范围可使用to-ports=11001120-1125这样的形式来限定端口范围,也可使用通配符(*)表示允许所有端口secure该属性值指明信息是否经加密传输当crossdomain.xml文件使用s加载时,secure默认设为true此时将不允许flash传输非s加密内容假设手工设置为false那么允许flash传输非s加密内容例子a./crossdomain.xml文件内容如下允许所有qq.的子域通过s对t.qq.域进行跨域请求allow-aess-from-identity该节点配置跨域访问策略为允许有特定证书的跨域访问本域上的资源每个allow-aess-from-identity节点最多只能包含一个signatory子节点allow--request-headers-from此节点授权第三方域flash向本域发送用户定义的头allow--request-headers-from包含三个属性domain作用及参数格式与allow-aess-from节点中的domain类似headers以逗号隔开的列表,说明允许发送的头可用通配符(*)表示全部头secure作用及用法与allow-aess-from节点中的secure相同注Flash在自定义头中无法使用以下请求标题,并且受限制的词不区分大小写(例如,不允许使用Get、get和GET)另外,如果使用下划线字符,这也适用于带连字符的词(例如,不允许使用Content-Length和ContentLength)Aept-Charset、Aept-Encoding、Aept-Ranges、Age、Allow、Allowed、Authorization、Charge-To、Connect、Connection、Content-Length、Content-Location、Content-Range、Cookie、Date、Delete、ETag、Expect、Get、Head、Host、Keep-Alive、Last-Modified、Location、Max-Forwards、Options、Post、Proxy-Authenticate、Proxy-Authorization、Proxy-Connection、Public、Put、Range、Referer、Request-Range、Retry-After、Server、TE、Trace、Trailer、Transfer-Encoding、Upgrade、URI、User-Agent、Vary、Via、Warning、-Authenticate和x-flash-version,
二、web应用中平安使用flash设置严格的crossdomain.xml文件可以提高效劳端的平安性,在web应用中也会经常使用flash,一般是通过ExternalCall.Simplethis.flashReadyCallback;publicstaticfunctionSimplearg0:String{ExternalInterface.callarg0;return;}接收到外部传入的movieName没有进行处理,最后通过ExternalInterface.call进行执行,这样就能够执行任意的javascript代码,如果在调用flash的时候设置的不够平安就是XSS漏洞所以在flash编程中如果需要通过参数接收外部传入的数据,一定要对数据进行严格的检查,这样才能保证flash平安性参考文档Flash应用平安标准.80sec./flash-security-polic.htmlflash跨域策略文件crossdomain.xml配置详解hi.baidu./cxz/blog/item/7be889fa8f47a20c6c22eb3a.htmlCross-domainPolicyFileSpecification.senocular./pub/adobe/crossdomain/policyfiles.html模板内容仅供参考 。