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

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

 

XSS***和防護

 

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

本章主要內容: vue

跨站腳本的歷史 web

Web應用程序安全 數據庫

XMLAJAX介紹 瀏覽器

ü 總結 安全

ü 快速回顧 服務器

ü 常見問答cookie

緒論

跨站點腳本漏洞能夠追溯到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,幾乎每一個人都會舉手表示據說過。

相關文章
相關標籤/搜索