工作階段劫持
網站登入後,伺服器通常發給瀏覽器一張「通行證」——工作階段識別碼,多半放在 Cookie。工作階段劫持(Session Hijacking)是指通行證被偷走或被猜中,對手不必知道密碼也能冒充你。
Cookie 一定要打開的三個屬性
| 屬性 | 作用 |
|---|---|
Secure |
只透過 HTTPS 傳送,避免明文被旁聽 |
HttpOnly |
JavaScript 讀不到,降低 XSS 偷 Cookie 的傷害 |
SameSite |
限制跨站請求是否帶上 Cookie,降低 CSRF |
會話識別碼必須夠長、夠隨機,登出與權限變更後要作廢。重要操作(改密碼、轉帳)可再要求一次 MFA。
其他常見配套:短效 Access Token、綁定 User-Agent/IP 僅能當輔助(行動網路會變 IP)、全站 HTTPS 加 HSTS。
和 XSS、中間人的關係
- 沒有
HttpOnly時,跨網站指令碼(XSS)可以直接讀document.cookie。 - 沒有
Secure與 HTTPS 時,區域網路旁聽就能拿到會話。 - 因此「防劫持」很大一部分其實是 修 XSS、強制 TLS、正確設 Cookie,而不是事後再抓小偷。
建議影片
TLS Handshake Explained
會話 Cookie 若在 HTTP 上傳遞,握手再嚴謹也救不了。這支 Computerphile 影片說明瀏覽器與伺服器如何建立加密通道。把它當成「為什麼登入頁必須是 HTTPS」的視覺教材。
官方學習資源
OWASP
OWASP 測試 Cookie 屬性 列出工作階段管理的檢查項,適合開發與檢測對照。