跨站指令碼漏洞

跨站指令碼漏洞

跨站指令碼攻擊(Cross-site scripting,通常簡稱為 XSS)發生在客戶端,可被用於進行竊取隱私、釣魚欺騙、竊取密碼、傳播惡意程式碼等攻擊。

XSS 攻擊使用到的技術主要為 HTML 和 Javascript,也包括 VBScript 和 ActionScript 等。XSS 攻擊對 WEB 伺服器雖無直接危害,但是它藉助網站進行傳播,使網站的使用使用者受到攻擊,導致網站使用者帳號被竊取,從而對網站也產生了較嚴重的危害。

跨站指令碼漏洞

XSS 的危害包括:

1)釣魚欺騙:最典型的就是利用目標網站的反射型跨站指令碼漏洞將目標網站重定向到釣魚網站,或者注入釣魚 JavaScript 以監控目標網站的表單輸入,甚至發起基於 DHTML 更高階的釣魚攻擊方式。

2)網站掛馬:跨站時利用 IFrame 嵌入隱藏的惡意網站或者將被攻擊者定向到惡意網站上,或者彈出惡意網站視窗等方式都可以進行掛馬攻擊。

3)身份盜用:Cookie 是使用者對於特定網站的身份驗證標誌,XSS 可以盜取到使用者的 Cookie,從而利用該 Cookie 盜取使用者對該網站的操作許可權。如果一個網站管理員使用者 Cookie 被竊取,將會對網站引發巨大的危害。

跨站指令碼漏洞

4)盜取網站使用者資訊:當能夠竊取到使用者 Cookie 從而獲取到使用者身份使,攻擊者可以獲取到使用者對網站的操作許可權,從而檢視使用者隱私資訊。

5)垃圾資訊傳送:比如在 SNS 社群中,利用 XSS 漏洞借用被攻擊者的身份傳送大量的垃圾資訊給特定的目標群。

6)劫持使用者 Web 行為:一些高階的 XSS 攻擊甚至可以劫持使用者的 Web 行為,監視使用者的瀏覽歷史,傳送與接收的資料等等。

7)XSS 蠕蟲:XSS 蠕蟲可以用來打廣告、刷流量、掛馬、惡作劇、破壞網上資料、實施 DDoS 攻擊等。

跨站指令碼漏洞

攻擊手段和目的

攻擊者使被攻擊者在瀏覽器中執行指令碼後,如果需要收集來自被攻擊者的資料(如 cookie 或其他敏感資訊),可以自行架設一個網站,讓被攻擊者透過 JavaScript 等方式把收集好的資料作為引數提交,隨後以資料庫等形式記錄在攻擊者自己的伺服器上。

常用的 XSS 攻擊手段和目的有:

盜用 cookie,獲取敏感資訊。

利用植入 Flash,透過 crossdomain 許可權設定進一步獲取更高許可權;或者利用 Java 等得到類似的操作。

跨站指令碼漏洞

利用 iframe、frame、XMLHttpRequest 或上述 Flash 等方式,以(被攻擊)使用者的身份執行一些管理動作,或執行一些一般的如發微博、加好友、發私信等操作。

利用可被攻擊的域受到其他域信任的特點,以受信任來源的身份請求一些平時不允許的操作,如進行不當的投票活動。

在訪問量極大的一些頁面上的 XSS 可以攻擊一些小型網站,實現 DoS 攻擊的效果。