《XSS跨站脚本攻击剖析与防御》—第6章6.1节Flash简介

简介:

本节书摘来自异步社区《XSS跨站脚本攻击剖析与防御》一书中的第6章6.1节Flash简介,作者邱永华,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第6章 Flash应用安全
XSS跨站脚本攻击剖析与防御
Flash是一种交互式矢量多媒体技术,如今在越来越多的网站得到广泛的应用,往往被用来播放视频,游戏或者实现其他复杂的用户交互功能。Flash在为Web应用提供丰富多元的功能的同时,也带来一些安全问题。

Flash支持全局变量,因此带来了很多安全隐患,只要攻击者控制了全局变量,就可以实施多种攻击行为。

在开发基于Web的富应用程序(Rich Internet Applications,RIA)时,许多Flash应用程序开发人员并没有意识到程序正受到来自恶意攻击者的各种安全威胁,尽管对安全社区来说XSS、CSRF及其他输入验证漏洞并不陌生,但是Flash提供了一种新的攻击类型,尤其是那些无防备的和未经严格测试的Flash应用程序。

在这一章中,我们将详细探讨Flash的应用安全,包括Flash的一些安全策略,以及应用程序中的各种安全漏洞。

6.1 Flash简介
XSS跨站脚本攻击剖析与防御
Adobe Flash是一种交互式矢量多媒体技术,被广泛使用在Web网站中,以增加特殊的动画效果与网页交互能力。该软件最初由Macromedia公司设计,该公司于2005年被Adobe公司收购。

据统计,全球已有超过3 000 000名游戏开发者和设计师在使用Flash,99%的具有上网功能的台式机安装了Flash Player,75%的在线视频采用了Flash技术,70%的网络游戏是基于Flash开发的。

图6-1所示为一个典型的Flash应用的截图。

6.1.1 Flash Player 与SWF
要运行Flash应用程序,浏览器中必须先安装Flash Player或者Shockwave Player。在过去的几年中,拥有该播放器的Internet用户数量与日俱增,而现在的浏览器都预装了Flash Player。

Adobe Flash Player是一款被广泛使用的、专有的多媒体程序播放器,能够在各种浏览器、操作系统和移动设备上使用,功能强大,兼容性高,标志如图6-2所示。


597360746b2269df1b5a1a8da6233518e5dcea0f

SWF(Shock Wave Flash)是 Flash的专用格式,使用Flash Player便能运行SWF文件。另外,SWF文件可以直接嵌入到网页中执行,浏览器对SWF的解释机制如图6-3所示。


de313c03c902b8f0c16b4ad1a905f68f3716a06b

浏览器运行Flash应用程序要经过以下步骤:

① 浏览器解释HTML文档;

② 解释嵌入的Flash 插件;

③ Flash插件解析SWF字节码;

④ 插件和浏览器通过LiveConnect接口进行通信。

6.1.2 嵌入Flash文件
在HTML页面中嵌入Flash,一般使用

(1)使用标签:

<html>
  <body marginwidth="0" marginheight="0">
    <embed width="100%" height="100%" name="plugin"
    src="test.swf" type="application/x-shockwave-flash"/>
  </body>
</html>

embed标签支持Mozilla系列的浏览器或其他支持Netscape插件的浏览器,当然,IE也可以识别embed。

(2)使用

<html>
  <body marginwidth="0" marginheight="0">
    <object width="100%" height="100%" 
     data="test.swf" type="application/x-shockwave-flash">
     <param name="src" value="test.swf" />
     <param name="quality" value="high" />
   </object>
  </body>
</html>

这种方式需使用W3C规范中标准的object元素。

(3)使用

<html>
  <body marginwidth="0" marginheight="0">
    <object width="100%" height="100%" title="flash"
     data="test.swf" type="application/x-shockwave-flash">
     <param name="movie" value="test.swf" />
     <param name="quality" value="high" />
     <embed src="test.swf" quality="high"  
 pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%" ></embed>
   </object>
  </body>
</html>

为了确保大多数浏览器能正常显示Flash,建议把标签嵌套放在

6.1.3 ActionScript语言
Flash有内置的脚本语言——ActionScript,这种语言是一种基于 ECMAScript 的编程语言,用来编写Adobe Flash 视频和应用程序。ActionScript主要有3个版本:ActionScript 1.0、ActionScript 2.0和ActionScript 3.0,其中2.0和3.0版是目前较为流行的。

熟悉Flash的读者应该知道,ActionScript是基于JavaScript的,因而两者具有类似的语法和结构,但本质上仍然是两种截然不同的语言,它们之间的一个重要区别是:ActionScript使用的脚本完全由Flash Player解释和处理,与查看文件的浏览器无关;而JavaScript使用的外部解释程序则根据所用的浏览器的不同而不同。

创建Flash应用程序和编写ActionScript脚本可以使用Adobe Flash CS3(或者其他版本)。下载和安装后直接打开程序,界面如图6-4所示,在新建处选择“Flash文件(ActionScript 2.0)”即可新建文件。


5e850d16dcc90894a5cc7785c452c53aaccb2383

接着,在菜单栏选择“窗口”菜单下的“动作命令”,或直接按【F9】快捷键打开动作面板。在这里可以编写ActionScript脚本,如输入trace("Hello World");,再按【Ctrl+Enter】组合键便能浏览脚本的运行效果,分别如图6-5和图6-6所示。

9b0d04b9448acbdfefe8f8be7e03b31441579582


f1a017ca5714e73c0689fddb6c7675bf2166766d

Flash的一些基础知识就介绍到这里,下一节我们讨论另一个比较有趣的话题——Flash安全模型。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
21天前
|
JavaScript 安全 前端开发
同源策略如何防止 XSS 攻击?
【10月更文挑战第31天】同源策略通过对 DOM 访问、Cookie 访问、脚本执行环境和跨源网络请求等多方面的严格限制,构建了一道坚实的安全防线,有效地防止了 XSS 攻击,保护了用户在网络浏览过程中的数据安全和隐私。
87 49
|
26天前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
64 4
|
25天前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
53 2
|
27天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
59 3
|
20天前
|
SQL 存储 安全
什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?
理解并防范XSS、SQL注入和CSRF攻击是Web应用安全的基础。通过采用严格的输入验证、使用安全编码实践以及实现适当的身份验证和授权机制,可以有效防止这些常见的Web攻击,保障应用程序和用户的数据安全。
27 0
|
2月前
|
存储 安全 JavaScript
xss漏洞简介
xss漏洞简介
|
2月前
|
存储 JavaScript 安全
|
5月前
|
存储 安全 JavaScript
手摸手带你进行XSS攻击与防御
当谈到网络安全和信息安全时,跨站脚本攻击(XSS)是一个不可忽视的威胁。现在大家使用邮箱进行用户认证比较多,如果黑客利用XSS攻陷了用户的邮箱,拿到了cookie那么就可以冒充你进行收发邮件,那真就太可怕了,通过邮箱验证进行其他各种网站的登录与高危操作。 那么今天,本文将带大家深入了解XSS攻击与对应的防御措施。
|
3月前
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
423 1
|
2月前
|
存储 JavaScript 前端开发
Xss跨站脚本攻击(Cross Site Script)
Xss跨站脚本攻击(Cross Site Script)