本文將向讀者介紹了利用Flash參數(shù)注入的新型攻擊技術(shù),最重要的是該技術(shù)能夠造成永久性的攻擊效果。鑒于目前的Web應(yīng)用采用的常規(guī)防御機(jī)制尚不足以抵御這種攻擊,所以希望能引起Web開發(fā)人員的高度重視。本文最后給出了有關(guān)的安全建議。
一、綜述
本文將向讀者介紹一種新型的攻擊,我們稱之為FPI,即Flash參數(shù)注入攻擊。此前,安全專家曾發(fā)現(xiàn),如果攻擊者能訪問和控制Flash的全局參數(shù)的話,他們就能夠完成諸如經(jīng)由Flash的跨站點(diǎn)腳本攻擊、跨站flash以及修改Flash視頻的信息流等等。這些攻擊需要能夠直接訪問Flash視頻以及通過URI對(duì)有關(guān)參數(shù)進(jìn)行設(shè)置。當(dāng)Flash視頻是嵌入到HTML頁面中并且無法訪問原始DOM的時(shí)候,攻擊者將無法發(fā)動(dòng)這些攻擊。
許多時(shí)候,F(xiàn)lash文件只能在原始的HTML中運(yùn)行,而不能作為URI加載,這樣的話,就無法進(jìn)行常規(guī)的跨站flash攻擊。本文展示了一些技術(shù),在電影被嵌入到一個(gè)原始的HTML頁面的時(shí)候,攻擊者可以用這些技術(shù)來注入全局Flash參數(shù)。這些注入的參數(shù)不僅可以賦予攻擊者對(duì)頁面DOM的完全控制權(quán),還能控制Flash視頻內(nèi)部的其它對(duì)象。這個(gè)可以利用Flash視頻及其所在的HTML 頁面之間的交互發(fā)動(dòng)更多精心策劃的各種攻擊。由此,本文所述的FPI技術(shù)能夠增加了Flash攻擊的適應(yīng)面,也就是說會(huì)有更多的網(wǎng)站面臨Flash攻擊的危險(xiǎn)。
本文中,我們將論述五種不同的技術(shù)。首先,我們將描述一種簡單的基于DOM的注入技術(shù),提供該技術(shù),攻擊者能夠使用原始HTML 頁面的URI來注入Flash參數(shù),從而逃避諸如Web服務(wù)器的IDS以及IPS保護(hù)機(jī)制的檢測。本例將向大家證明,經(jīng)常用于為URI消毒的encodeURI函數(shù)不足以抗擊該攻擊。第二種技術(shù)將利用HTML表單或者URI參數(shù)來注入全局Flash參數(shù)。第三種技術(shù)展示如何利用Flash視頻的引用來覆蓋這些參數(shù)的值。第四種技術(shù)為大家展示如何利用HTML的對(duì)象標(biāo)簽的屬性實(shí)現(xiàn)FPI。最后,第五種技術(shù)為大家說明一種持久性Flash參數(shù)注入攻擊方法。這種技術(shù)致使注入的內(nèi)容成為持久性數(shù)據(jù),這意味著在不同的會(huì)話中、甚至在允許注入的安全漏洞已被修復(fù)之后,注入的內(nèi)容仍然有效。實(shí)際上,本文涉及的一些技術(shù)已被廣泛應(yīng)用于現(xiàn)實(shí)中的各種應(yīng)用程序。
二、背景知識(shí)
Adobe Flash被廣泛應(yīng)用于為Web頁面提供生動(dòng)性和互動(dòng)性元素。Flash視頻不僅可以嵌入到HTML頁面中,而且還可以在獨(dú)立的Flash Player中播放。
Flash視頻可以包含簡單的腳本,這些腳本通常用ActionScript語言編寫。這些腳本用來增強(qiáng)Flash視頻的性能,還用來創(chuàng)建更加動(dòng)態(tài)的Web頁面以及更加豐富多彩的互聯(lián)網(wǎng)應(yīng)用程序。
1.在HTML中嵌入Flash視頻
可以用下列方式在一個(gè)HTML頁面內(nèi)嵌入Flash視頻:
![]() |
圖1 在HTML中嵌入Flash |
當(dāng)訪問該頁面時(shí),瀏覽器會(huì)自動(dòng)下載該Flash視頻,并在該頁面內(nèi)為用戶播放該Flash視頻。當(dāng)嵌入到HTML頁面中時(shí),F(xiàn)lash視頻就具備了訪問該頁面的DOM的權(quán)限,這意味著可以通過該電影的ActionScript代碼來執(zhí)行JavaScript代碼。因?yàn)殡娪澳軌蛟L問整個(gè)DOM,所以該電影也就能訪問加載該Flash的域?yàn)樵撚脩舻挠?jì)算機(jī)設(shè)置的Cookie了。
將Flash視頻嵌入到一個(gè)HTML頁面時(shí),還有一種方法可用,那就是當(dāng)用戶瀏覽Flash視頻的URL時(shí),直接由瀏覽器將Flash視頻嵌入頁面。在這種情況下,會(huì)創(chuàng)建一個(gè)“幽靈”HTML頁面,它將Flash視頻作為一個(gè)嵌入對(duì)象存于其中,這個(gè)頁面如下所示:
![]() |
圖2 指定Flash下載地址的HTML |
注意,在這種情況下,由于原始的Flash視頻被嵌入一個(gè)HTML頁面,所以這個(gè)Flash視頻繼續(xù)嵌入到上述HTML頁面中,因此也就無法訪問上述HTML頁面的DOM了。
共4頁: 1 [2] [3] [4] 下一頁 | ||||||
|