2023年12月10日发(作者:)

摘要:本文通过分析Flash在网络应用中存在的漏洞,提出解决在网络上运行Flash过程中产生的跨站脚本攻击问题的两种方法,使Flash在网络的应用中更加安全可靠。关键词:Flash;安全策略;漏洞中图分类号:TP393.08文献标识码:A文章编号:1674-5078(2013)03—0084-03DoI:10.39690.issn.1674-5078.2013.03.026Flash是Adobe公司开发的网页多媒体制作(二)百度空间nashXSS跨站脚本攻击工具,具备向量绘图与动画编辑功能。它是一种交在百度空间,Flash模块使用白名单验证其添互式动画设计工具,用它可以将音乐,声效,动画加的SWF文件是否安全,我们可以通过http://wap.以及富有新意的界面融合在一起,以制作出高品baidu.com/redirect.jsp任意跳转信任域来添加恶意质的网页动态效果。在Flash被嵌人HTML的同SWF文件,绕过其安全验证,从而引发XSS跨站脚时,其安全问题也越来越得到重视。Flash中可以本攻击(该漏洞已修补)。http'Y/wap.baidu.com/redirect.被嵌入并执行JavaScript代码,域安全操作由其isp?url=http://www.XXX.org/hi.sw£如图2所示.CrossDomain.xml文件决定,并不受同源策略限制,可以轻易进行跨域操作,使整个应用程序受到威鳓爱蠹国毯交国王舞(王;麓溉蹲》《企≮图忡删.baidu.corn/14mp匿胁。Flash的安全问题正时刻威胁着大型web系f-k_tllt豁霜-,菠氧统,诸如SNS社区、电子邮箱等等。匦氢囊三运i面面两面磊函广—i匝蔓西区巫圄量基殛一、面临的威胁menz蛳007鲢I我豹消患f1_13》l我雌闻I勇I我的应用团J(一)GoogleGmailFlashXSS跨站脚本攻击Gmail中添加Flash电影功能文件uploaderapi2.swf中存在Flash参数注人。用户可以任意变量引发XSS跨站脚本攻击(该漏洞已修补)。如下URL:https://mail.google.com/mail/uploader/uploaderapi图2百度空I司XSS漏洞2.swf?apilnit=eval&apild=alert(document.cookie).如图1所示.二、Flash安全防御策略(一)安全沙箱客户端可能需要加载来自不同域的资源文件,比如大型网站将图片和主站放在不同服务器上,以增加负载能力。当加载不同域的Flash文件时,Flash会根据SWF文件来源将每个SWF文件单独分配到安全沙箱中。Flash安全沙箱规则控制着给定沙箱内的SWF文件可以访问的内容。根据图1Gmail中Flash参数注入漏洞操纵对象,将其分为远程沙箱和本地沙箱。收稿日期:2013—02—28作者简介:张永福(1981一),男,山西榆次人,硕士。主要研究方向为网页制作、网站开发、网络课程开发与应用。远程沙箱是指Flash将来ca不同域的SWF文件分类整理到单独的沙箱中,这些沙箱与各自原始域相对应。通常情况下,对于来ca不同域的SWF文件授予它访问自身所在服务器中任何资源的权限。通过显式授权方法,允许不同域的SWF文件访问其它域的数据。远程SWF文件无法加载任何本地文件或资源,这里需要引用本地沙箱。本地沙箱是指只能与本地文件系统(协议或统一命名约定(UNC)路径引用的任何文件)内容交互的沙箱。在本地HTML文件和本地SWF文件之间访问脚本要求所涉及的HTML文件和SWF文件都在受信任的本地沙箱中。生成Flash文件时,我们点击“文件”,选择“发布设置”,再选择“Flash”,从“本地回放安全性”弹出菜单中,选择要使用的Flash安全沙箱。指定是授予已发布的SWF文件本地安全性访问权,还是网络安全性访问权。“只访问本地”可使已发布的SWF文件与本地系统上的文件和资源交互,但不能与网络上的文件和资源交互,即本地沙箱策略。“只访问网络”可使已发布的SWF文件与网络上的文件和资源交互,但不能与本地系统上的文件和资源交互,即远程沙箱策略。(二)域安全策略1.CrossDomain文件安全策略当加载不同域的Flash文件进行跨域操作时,可以设定CrossDomain.xml文件限定其跨域权限。CrossDomain.xml文件中可以配置Flash跨域操作内容。通过配置该文件,我们可以根据实际所需进行跨域操纵。代码演示,该策略文件允许访问木.sxly.corn.cn<?xmlversion=”1.0”encoding=”UTF-87><cross-domain—-policy><allow-access-fromdomain="*.sxly.com.cn”/></cross-domain-policy>默认J隋况下,策略文件必须命名为CrossDomain.xml,并且必须位于服务器的根目录中。当SWF文件试图访问不同域中的数据时,FlashPlayer会尝试自动从该域中加载CrossDomain.xml策略文件。如果试图访问数据的SWF文件所在的域包括在该策略文件当中,则数据将自动成为可访问数据。SWF文件还可以通过调用Security.10adPolicyFile()方法来检查试图访问的数据是否为其它名称或者是否位于其它目录下。跨域策略文件只能在加载·学术探讨·该文件的目录及其子目录中使用。因此,位于服务器根目录中的策略文件适用于整个服务器,但是从服务器中任意子目录下加载的策略文件仅适用于该目录及其子目录。策略文件只能影响它所在特定服务器的访问,和同源策略一样,主机名、端口和协议都必须相同。跨域策略文件包含单个<CroSS—domain—policy>标签,这个<cross-domain—policy>标签又包含零个或多个<allow—access—from>标签。每个<allow—access—from>标签包含一个属性domain,这个属性中包含一个固定的IP地址、一个固定的域或一个通配符域。通配符域由单个星号(木)或后接后缀的星号表示。后缀必须以点开头。例如:http://www.sxrb.com/crossdomain.xml,内容如下:<?xmlversion=“1.0”encoding=“UTF-87><!DOCTYPEcross-domain-policySYSTEM“http://www.macromedia.com/xml/dtds/cross-domain—policy.dtd”><cross-domain-policy><site-controlpermitted-cross-domain—-policies=“by-content—type”/></cross-domain-policy>其中<site—controlpermitted—cross—domain—policies=“by—content—type”,>是节点控制,不加这个选项时,Flash不加载除去主策略文件以外的其他策略文件,即只接受根目录里的/crossdomain.xml策略文件。当需要启用其他策略文件,我们可以通过修改节点控制文件来实现,当文件为<site—controlpermitted--cross-domain-policies=“by—content—type”/>时只允许http头为text/x—cross—domain—policy的策略文件,当文件为<site—controlpermitted—cross—domain—policies=“all”,>时允许所有的text/xml等格式的策略文件。我们还可以设定<allow—access—fromdomain=“=lc.sxrb.com”/>来判断哪些域可以被请求。2.Security.allowDomain()函数在ActionScript中可以通过Security.allowDomain()方法,来设置域安全策略。比如我们在ActionScript中添加如下代码:Security.allowDomain(“www.google.com”),表示允许该SWF文件向砌州.google.con域执行跨域操作。(三)Script安全控制张水福喇laSr安全策略探究一晋城职业技术学院报二。一三年第六卷三期一总第二十九期一·学术探讨·ActionScript3.0中可以通过如下函数执行参数可以选择的值包括:“Always”(允许所有)、iavascript代码:flash.system.fscommand()、flash.net.“SameDomain”(允许同域)和“Never”(禁止所有),navigateToURL()、flash.net.navigateToURL()、Exter默认值是“SameDomain”。nalInterface.call()。例如在ActionScript2.0中,我AllowNetworking参数可以控制Flash与外部张们编写如下代码:的网络通讯,改参数可以选择的值包括:All(允许水getURL(”javascript:alert(,xss,);”,”一self'’,”使用所有的网络通讯,默认值)、Internal(Flash不GET”);即可弹出熟悉的对话框。如图3所示。能与浏览器通讯如NavigateToURL,但是可以调用福其他的API)、None(禁止任何的网络通讯)。三、结论本文针对网络上最为流行的媒体软件Flash所存在的安全隐患进行了分析,提出相应的解决F1&Il方案,在引起大家广泛关注的同时,为信息的安全安提供了解决办法,使得Flash在网络上的应用更加安全可靠。全图3ActionScript2.0中javascfipt代码演示策参考文献:对于本地运行的SWF文件,只有当SWF文件[1]潘彪.浅谈flash控制技术在组装实验中的应用[J].略和包含该文件的网页同时存在于受信任的本地安电脑知识与技术,2011(36).探全沙箱时,才能成功调用这些方法。如果文件位于[2]许伟.安全技术在flash通信及传输中的应用[J].信只能与本地文件系统内容交互的沙箱中或只能与远息技术,2010(3).究程内容交互的沙箱,那么这些方法将无法调用。HTML[3]黄林伟.Hex开发flash网站的使用与安全策略[J]_代码中用于加载文件的AllowScriptAccess参数可科技视界,2012(21).以设定是否执行Javascript代码。AllowScriptAccessAnExplorationofFlashSecurityPolicyZHANGYong——fu(ShanxiForestryTechnicalVocationalCollege,Taiyuan030009,China)Abstract:ByanalyzingtheproblemsoftheapplicationofFlashinnetwork,thepaperputsforwardtwoconcretemethodsofcross—sitescriptingintheapplicationofFlash.Theauthorhopestofindeffectivewaystodealwithsecurityloopholes,makingtheapplicationsofFlashinthenetworkmoresecureandreliable.KeyWords:Flash;securitypolicy;loophole一晋城职业技术学院报二。、;年第.。卷三期一总第二十九期一