【web安全】Xss Exploits and Defense翻譯1

SYNGRESS的《Xss Exploits and Defense》這本書還不錯,但是沒有找到中文版,在學習過程中就大概翻譯了一下。

 

XSS***和防禦

 

第一章:跨站腳本基本原理

本章主要內容:

跨站腳本的歷史

Web應用程序安全

XMLAJAX介紹

ü 總結

ü 快速回顧

ü 常見問答

緒論

跨站點腳本漏洞可以追溯到1996年在世界初期萬維網(WEB)。一時間,當電子商務開始起飛,就成了網景、雅虎和那些令人生厭的閃爍的標記(HTML標記)的泡沫時代。當成千上萬的網頁正在建設中,充斥着用超文本標記語言(HTML)結構建立的“酷”網站。Javascript程序語言應運而生,跨站腳本的一個未知預兆,永遠改變了web應用程序安全的景觀。Javascript使得web開發人員可以創建交互式的網頁效果包括圖像翻轉,浮動菜單和彈出式窗口。對於現在不起眼的異步JavascriptXMLAJAX)應用程序標準,***很快發現一個新的未開發世界的可能性。

***們發現當不知情的用戶訪問他們的網頁,他們可以在同一個瀏覽器窗口中強行裝入一個HTML框架的任何網站(銀行,拍賣,商店,web郵件等等)。

然後使用Javascript,他們可以跨越兩個網站的邊界,從一個頁面訪問另一個頁面。他們可以竊取用戶輸入在HTML表單裏的用戶名和密碼,盜取cookie和威脅到任何在屏幕上出現的機密信息。媒體將這些問題報道爲瀏覽器漏洞。網景通訊,占主導地位的瀏覽器供應商,爲了對應這種情況,實現了“同源策略”,限制Javascript不能從一個網頁到另一個網頁獲取數據。瀏覽器***將這個作爲挑戰,然後開始挖掘各種聰明的方法來規避這個限制。

199912月,David Ross在微軟的Internet Explorer安全響應工作。他受到在當時發現Internet explorer's 安全模型威脅的Georgi Gununski的啓發。他指出web內容會暴露“腳本注入”有效地繞過GeorgiInternet Explorer代碼缺陷,但是這個錯誤似乎存在服務端而不是客戶端代碼。David在微軟內部文檔中將這個描述爲“腳本注入”。這個文檔描述的問題,是它如何利用,如何***可以持續使用cookieXSS如何工作,和輸入/輸出過濾解決方法。

最終這個概念被CERT機構所共享。目的就在於讓公衆也知道,讓這個問題以負責的方式被揭露,然後網站可以被修復,不僅僅是微軟,而是整個行業。跨組織團隊在一月中旬的討論最終從以下名稱中選擇了“Cross Site Scripting”這個名稱:

Unauthorized Site Scripting

Unofcial Site Scripting

Uniform Resource Locator (URL) Parameter Script Insertion

Cross-site Scripting

Synthesized Scripting

Fraudulent Scripting

2000125日,微軟和CERT,很多廠商(例如:Apache等)還有一些感興趣的組織在Bellevue的一個酒店討論這個XSS這個概念。

DavidIvan BrugioloJohn CoatesMichael Roe的幫助下,重寫了那份微軟內部文檔,讓它成爲適合公衆的版本。在CERT的協調下,微軟在200022日發佈了這個文檔和其他材料。在過去幾年裏,在Microsoft.com網站這份文檔有時候被移除了,但是不會在互聯網消失。現在可以在下面網站被找到:

http://ha.ckers.org/cross-site-scripting.html 。

同個時間,***在可以提交HTML/JavascriptHTML頁面,留言簿,郵件服務商提交腳本來影響用戶。這就是有時候被叫做HTML注入的來源。***創建一個JavaScript的惡意軟件(malware)的基本形式,他們將HTML表單提交改變屏幕上的名字,欺騙貶義的消息,竊取cookie,調整網頁的顏色,宣告病毒推出的警告,和其他隱約惡意的數字惡作劇。不久後,出現另一種***的變種。利用社會工程學,誘導用戶點擊帶有惡意代碼的鏈接可以達到跟HTML注入一樣的結果。Web用戶除了禁止Javascript的運行,沒有其他防禦的手段。

歷年來,最早爲認爲是跨站腳本開始變成瀏覽器的一個簡單未知名漏洞。HTML注入和惡意鏈接就是現在指的跨站腳本的變種,分別是持久性和非持久性的跨站腳本。不幸的是,這就是很多人被混亂的術語搞糊塗的一個重要原因。更糟糕的是,“CSS”的縮寫和另一個新生的瀏覽器技術“Cascading Style Sheets”的縮寫一樣,所以經常混淆。終於在2000年初,一個聰明的人建議將CSS的縮寫改爲XSS來避免混淆。最後,XSS的名稱被定下來。很多新的白皮書和大量的漏洞公告描述跨站腳本的影響充斥着網絡。但是很少人去關注。

2005年之前,絕大多數的安全專家和開發者很少關注XSS漏洞。他們關注的是緩衝區溢出,僵屍網絡,病毒,蠕蟲,間諜軟件等等。以此同時,全球每月有百萬的新的web服務器開始用SSL保護他們的服務器。大多數人認爲可以導致XSS漏洞的Javascript是一個玩具變成語言。有一些論調,”它不能***操作系統或者***數據庫,我爲什麼要在乎呢?就點擊一個鏈接或者瀏覽一個網頁會能多危險呢?“。200510月,我們得到了答案。一夜之間,Samy蠕蟲病毒,第一個嚴重的XSS蠕蟲將流行的社交網站MySpace搞攤了。這個***腳本的有效載荷相對良性,Samy蠕蟲從一個單一的MySpace用戶的個人資料頁傳播到另一個,最後在24小時內感染了超過一百萬的用戶。突然間,整個安全界清醒了,開始了爆炸式的研究Javascript的惡意腳本。

短短幾個月後,在2006年年初,JavaScript的端口掃描器,局域網***,擊鍵記錄器,***,瀏覽器歷史記錄盜取到達了一個似乎不會停止的景象。數百個XSS漏洞被大網站修復關閉,同時罪犯(***或者***者)開始結合釣魚欺騙實施更有效的***。令人吃驚的是,因爲根據白帽安全組織的統計,超過70%的網站是脆弱的,存在漏洞的。CVE組織聲稱說XSS***已經超過緩衝區溢出,成爲發現最多的漏洞。可以說,XSS漏洞代表作爲信息安全和在線商業所面臨的最潛在的破壞性漏洞。現今,當人們被問到是否聽說過XSS,幾乎每個人都會舉手表示聽說過。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章