會話劫持
會話劫持是指攻擊者在兩臺計算機之間的有效會話被劫持。攻擊者竊取一個有效的會話 ID,以便闖入系統並竊取資料。
大多數身份驗證僅發生在 TCP 會話的開始。在 TCP 會話劫持中,攻擊者透過在會話中間接管兩臺計算機之間的 TCP 會話來獲得訪問許可權。

會話劫持發生的原因是
- 無效會話 ID 沒有賬戶鎖定機制
- 會話 ID 生成演算法薄弱
- 處理不安全
- 會話過期時間無限
- 會話 ID 短
- 明文傳輸
會話劫持過程
- 嗅探,即執行中間人 (MITM) 攻擊,將自己置於受害者和伺服器之間。
- 監視伺服器和使用者之間傳輸的資料包。
- 中斷受害者計算機的連線。
- 接管會話。
- 使用受害者的會話 ID 向伺服器注入新資料包。
防止會話劫持
- 使用 SSH (Secure Shell) 建立安全通訊通道
- 透過 HTTPS 連線傳遞身份驗證 cookie
- 實現登出功能,以便使用者可以結束會話
- 在成功登入後生成會話 ID
- 在使用者和 Web 伺服器之間傳遞加密資料
- 使用字串或長隨機數作為會話金鑰
另見
- Session hijacking on Wikipedia