扫一扫
关注微信公众号

利用Flash参数注入的新型攻击技术(1)
2008-12-17   

本文将向读者介绍了利用Flash参数注入的新型攻击技术,最重要的是该技术能够造成永久性的攻击效果。鉴于目前的Web应用采用的常规防御机制尚不足以抵御这种攻击,所以希望能引起Web开发人员的高度重视。本文最后给出了有关的安全建议。

一、综述

本文将向读者介绍一种新型的攻击,我们称之为FPI,即Flash参数注入攻击。此前,安全专家曾发现,如果攻击者能访问和控制Flash的全局参数的话,他们就能够完成诸如经由Flash的跨站点脚本攻击、跨站flash以及修改Flash视频的信息流等等。这些攻击需要能够直接访问Flash视频以及通过URI对有关参数进行设置。当Flash视频是嵌入到HTML页面中并且无法访问原始DOM的时候,攻击者将无法发动这些攻击。

许多时候,Flash文件只能在原始的HTML中运行,而不能作为URI加载,这样的话,就无法进行常规的跨站flash攻击。本文展示了一些技术,在电影被嵌入到一个原始的HTML页面的时候,攻击者可以用这些技术来注入全局Flash参数。这些注入的参数不仅可以赋予攻击者对页面DOM的完全控制权,还能控制Flash视频内部的其它对象。这个可以利用Flash视频及其所在的HTML 页面之间的交互发动更多精心策划的各种攻击。由此,本文所述的FPI技术能够增加了Flash攻击的适应面,也就是说会有更多的网站面临Flash攻击的危险。

本文中,我们将论述五种不同的技术。首先,我们将描述一种简单的基于DOM的注入技术,提供该技术,攻击者能够使用原始HTML 页面的URI来注入Flash参数,从而逃避诸如Web服务器的IDS以及IPS保护机制的检测。本例将向大家证明,经常用于为URI消毒的encodeURI函数不足以抗击该攻击。第二种技术将利用HTML表单或者URI参数来注入全局Flash参数。第三种技术展示如何利用Flash视频的引用来覆盖这些参数的值。第四种技术为大家展示如何利用HTML的对象标签的属性实现FPI。最后,第五种技术为大家说明一种持久性Flash参数注入攻击方法。这种技术致使注入的内容成为持久性数据,这意味着在不同的会话中、甚至在允许注入的安全漏洞已被修复之后,注入的内容仍然有效。实际上,本文涉及的一些技术已被广泛应用于现实中的各种应用程序。

二、背景知识

Adobe Flash被广泛应用于为Web页面提供生动性和互动性元素。Flash视频不仅可以嵌入到HTML页面中,而且还可以在独立的Flash Player中播放。
Flash视频可以包含简单的脚本,这些脚本通常用ActionScript语言编写。这些脚本用来增强Flash视频的性能,还用来创建更加动态的Web页面以及更加丰富多彩的互联网应用程序。

1.在HTML中嵌入Flash视频

可以用下列方式在一个HTML页面内嵌入Flash视频:

 
图1  在HTML中嵌入Flash

当访问该页面时,浏览器会自动下载该Flash视频,并在该页面内为用户播放该Flash视频。当嵌入到HTML页面中时,Flash视频就具备了访问该页面的DOM的权限,这意味着可以通过该电影的ActionScript代码来执行JavaScript代码。因为电影能够访问整个DOM,所以该电影也就能访问加载该Flash的域为该用户的计算机设置的Cookie了。

将Flash视频嵌入到一个HTML页面时,还有一种方法可用,那就是当用户浏览Flash视频的URL时,直接由浏览器将Flash视频嵌入页面。在这种情况下,会创建一个“幽灵”HTML页面,它将Flash视频作为一个嵌入对象存于其中,这个页面如下所示:

 
图2  指定Flash下载地址的HTML

注意,在这种情况下,由于原始的Flash视频被嵌入一个HTML页面,所以这个Flash视频继续嵌入到上述HTML页面中,因此也就无法访问上述HTML页面的DOM了。

共4页: 1 [2] [3] [4] 下一页
 第 1 页:  第 2 页:向Flash视频传递参数
 第 3 页:反射式Flash参数注入攻击  第 4 页:持久性Flash参数注入攻击

热词搜索:

上一篇:入侵Google Gears的跨域通信模型
下一篇:深入剖析黑客窃取网上银行的基本方法

分享到: 收藏