定義
跨站腳本攻擊(Crossing Site Script),本來縮寫是CSS,但是為了和層疊樣式表(Cascading Style Sheet,CSS)有所區(qū)別,所以在安全領(lǐng)域叫做“XSS”。
XSS是指黑客通過“HTML注入”篡改了網(wǎng)頁,插入了惡意的腳本,從而在瀏覽網(wǎng)頁時(shí),控制用戶瀏覽器的一種攻擊。XSS屬于客戶端攻擊,受害者最終是用戶。
XSS攻擊是在網(wǎng)頁中嵌入客戶端惡意腳本代碼,這些惡意代碼一般使用JavaScript語言編寫的。所以,JavaScript能做到什么效果,XSS的威力就有多大。
XSS的分類
反射型XSS
反射型XSS只是簡單地把用戶輸入的數(shù)據(jù)“反射”給瀏覽器。也就是說,黑客往往需要誘使用戶“點(diǎn)擊”一個(gè)惡意鏈接,才能攻擊成功。反射型XSS也叫做“非持久型XSS”(Non-presistent XSS)。
存儲(chǔ)型XSS
存儲(chǔ)型XSS會(huì)把用戶輸入的數(shù)據(jù)“存儲(chǔ)”在服務(wù)器端,這種XSS具有很強(qiáng)的穩(wěn)定性。存儲(chǔ)型XSS通常也叫做“持久型XSS”(Presistent XSS),因?yàn)閺男Ч蟻碚f,它存在的時(shí)間是比較長的。這種XSS是最危險(xiǎn)的一種XSS。
存儲(chǔ)型XSS與反射型、DOM型不同,不需要用戶手動(dòng)去觸發(fā)。
DOM Based XSS
通過修改頁面的DOM節(jié)點(diǎn)形成的XSS,稱之為DOM Based XSS。
XSS的高級(jí)利用
- 盜取用戶Cookie;
- 修改網(wǎng)頁內(nèi)容;
- 網(wǎng)站掛馬;
- 利用網(wǎng)站重定向;
- XSS蠕蟲。
參考資料:《白帽子講Web安全》、《Web安全深度剖析》。