XSS攻擊技術詳解
一、背景知識
1、什么是XSS攻擊
XSS攻擊:跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制--例如同源策略(same origin policy)。這種類型的漏洞由于被駭客用來編寫危害性更大的phishing攻擊而變得廣為人知。對于跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的"緩沖區溢出攻擊",而JavaScript是新型的"ShellCode"。
XSS攻擊的危害包括:
◆盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號;
◆控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力;
◆盜竊企業重要的具有商業價值的資料;
◆非法轉賬;
◆強制發送電子郵件;
◆網站掛馬;
◆控制受害者機器向其它網站發起攻擊。
2、XSS漏洞的分類
XSS漏洞按照攻擊利用手法的不同,有以下三種類型:
類型A,本地利用漏洞,這種漏洞存在于頁面中客戶端腳本自身。其攻擊過程如下所示:
Alice給Bob發送一個惡意構造了Web的URL。
Bob點擊并查看了這個URL。
惡意頁面中的JavaScript打開一個具有漏洞的HTML頁面并將其安裝在Bob電腦上。
具有漏洞的HTML頁面包含了在Bob電腦本地域執行的JavaScript。
Alice的惡意腳本可以在Bob的電腦上執行Bob所持有的權限下的命令。
類型B,反射式漏洞,這種漏洞和類型A有些類似,不同的是Web客戶端使用Server端腳本生成頁面為用戶提供數據時,如果未經驗證的用戶數據被包含在頁面中而未經HTML實體編碼,客戶端代碼便能夠注入到動態頁面中。其攻擊過程如下:
Alice經常瀏覽某個網站,此網站為Bob所擁有。Bob的站點運行Alice使用用戶名/密碼進行登錄,并存儲敏感信息(比如銀行帳戶信息)。
Charly發現Bob的站點包含反射性的XSS漏洞。
Charly編寫一個利用漏洞的URL,并將其冒充為來自Bob的郵件發送給Alice。
Alice在登錄到Bob的站點后,瀏覽Charly提供的URL。
嵌入到URL中的惡意腳本在Alice的瀏覽器中執行,就像它直接來自Bob的服務器一樣。此腳本盜竊敏感信息(授權、信用卡、帳號信息等)然后在Alice完全不知情的情況下將這些信息發送到Charly的Web站點。
類型C,存儲式漏洞,該類型是應用最為廣泛而且有可能影響到Web服務器自身安全的漏洞,駭客將攻擊腳本上傳到Web服務器上,使得所有訪問該頁面的用戶都面臨信息泄漏的可能,其中也包括了Web服務器的管理員。其攻擊過程如下:
Bob擁有一個Web站點,該站點允許用戶發布信息/瀏覽已發布的信息。
Charly注意到Bob的站點具有類型C的XXS漏洞。
Charly發布一個熱點信息,吸引其它用戶紛紛閱讀。
Bob或者是任何的其他人如Alice瀏覽該信息,其會話cookies或者其它信息將被Charly盜走。
類型A直接威脅用戶個體,而類型B和類型C所威脅的對象都是企業級Web應用,目前天清Web應用安全網關產品所能防范的XSS攻擊包括類型B和類型C。
posted on 2013-12-11 11:10 順其自然EVO 閱讀(1524) 評論(0) 編輯 收藏 所屬分類: 安全性測試