欢迎来到天天文库
浏览记录
ID:9731359
大小:72.50 KB
页数:14页
时间:2018-05-06
《利用flash参数注入的新型攻击技术》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、利用Flash参数注入的新型攻击技术~教育资源库 一、综述 本文将向读者介绍一种新型的攻击,我们称之为FPI,即Flash参数注入攻击。此前,安全专家曾发现,如果攻击者能访问和控制Flash的全局参数的话,他们就能够完成诸如经由Flash的跨站点脚本攻击、跨站flash以及修改Flash视频的信息流等等。这些攻击需要能够直接访问Flash视频以及通过URI对有关参数进行设置。当Flash视频是嵌入到HTML页面中并且无法访问原始DOM的时候,攻击者将无法发动这些攻击。 许多时候,Flash文件只能在原始的HTML中运行,而不能作为URI加载,这样的话,就无法进行
2、常规的跨站flash攻击。本文展示了一些技术,在电影被嵌入到一个原始的HTML页面的时候,攻击者可以用这些技术来注入全局Flash参数。这些注入的参数不仅可以赋予攻击者对页面DOM的完全控制权,还能控制Flash视频内部的其它对象。这个可以利用Flash视频及其所在的HTML页面之间的交互发动更多精心策划的各种攻击。由此,本文所述的FPI技术能够增加了Flash攻击的适应面,也就是说会有更多的网站面临Flash攻击的危险。 本文中,我们将论述五种不同的技术。首先,我们将描述一种简单的基于DOM的注入技术,提供该技术,攻击者能够使用原始HTML页面的URI来注入Fla
3、sh参数,从而逃避诸如L表单或者URI参数来注入全局Flash参数。第三种技术展示如何利用Flash视频的引用来覆盖这些参数的值。第四种技术为大家展示如何利用HTML的对象标签的属性实现FPI。最后,第五种技术为大家说明一种持久性Flash参数注入攻击方法。这种技术致使注入的内容成为持久性数据,这意味着在不同的会话中、甚至在允许注入的安全漏洞已被修复之后,注入的内容仍然有效。实际上,本文涉及的一些技术已被广泛应用于现实中的各种应用程序。 二、背景知识 AdobeFlash被广泛应用于为L页面中,而且还可以在独立的FlashPlayer中播放。 Flash视频可以
4、包含简单的脚本,这些脚本通常用ActionScript语言编写。这些脚本用来增强Flash视频的性能,还用来创建更加动态的L中嵌入Flash视频 可以用下列方式在一个HTML页面内嵌入Flash视频: 图1 在HTML中嵌入Flash 当访问该页面时,浏览器会自动下载该Flash视频,并在该页面内为用户播放该Flash视频。当嵌入到HTML页面中时,Flash视频就具备了访问该页面的DOM的权限,这意味着可以通过该电影的ActionScript代码来执行JavaScript代码。因为电影能够访问整个DOM,所以该电影也就能访问加载该Flash的域为该用户的计算机
5、设置的Cookie了。 将Flash视频嵌入到一个HTML页面时,还有一种方法可用,那就是当用户浏览Flash视频的URL时,直接由浏览器将Flash视频嵌入页面。在这种情况下,会创建一个幽灵HTML页面,它将Flash视频作为一个嵌入对象存于其中,这个页面如下所示: 图2 指定Flash下载地址的HTML 注意,在这种情况下,由于原始的Flash视频被嵌入一个HTML页面,所以这个Flash视频继续嵌入到上述HTML页面中,因此也就无法访问上述HTML页面的DOM了。 2.向Flash视频传递参数 有多种方法可以从嵌入的对象中向Flash视频传递参数。传递
6、给电影的各个参数可以在Flash视频内部用作影片片段对象_root下的全局变量。下面是展示如何使用名为a的全局参数的ActionScript2代码示例: 图3 读取全局变量的ActionScript2代码 这在Flash视频中是一段非常常见的代码,攻击者可以利用这样的代码实现跨站点脚本攻击、跨站flash攻击以及其他类型的攻击。下面我们将会介绍三种不同的方法来利用这些代码。 方法1:直接引用 传递参数的第一个方法是直接给出Flash文件地址,然后在URI本身中传递参数,这跟利用GET方式传递HTTP参数非常类似。举例来说,可以像下面这样来利用直接引用传递参数:
7、 URL/myMovie.sp;b=hello 在本例中,有两个参数传送给了Flash文件。第一个参数是a,它的值为5;第二个参数是b,其值为hello。使用这种方法时,Flash文件并没有嵌入到原始HTML页面,而是嵌入到了自动生成的幽灵HTML页面之中。 方法2:嵌入URI 第二种方法是利用嵌入对象的URI来传递参数,举例如下: 图4 利用嵌入的URI传递参数 在这种情况下,Flash文件仍旧是嵌入到了原始HTML页面之中。 方法3:利1234下一页友情提醒:,特别!用flashvars属性 第三种方法要用到flashvars属性
此文档下载收益归作者所有