Session Hijacking 会话劫持

攻击者拿到合法用户的 Session ID 的事件。结果是攻击者能直接以受害者身份操作系统 —— 不用密码、不用绕 MFA,因为系统认的是 session 而不是凭据。

为啥比偷密码还可怕

维度偷密码偷 Session
绕过 MFA不能(MFA 在登录时验,session 已过这步)
用户感知改密码异常登录提醒几乎无感
防御重置改密码就行必须使所有 session 失效

偷 Session 的常见路径

  1. XSS → JS 读 cookie(没设 HttpOnly)→ 发给攻击者
  2. 网络嗅探 → 没用 HTTPS / 在公共 WiFi → 明文抓 cookie
  3. MITM 中间人 → 假证书 / SSL 剥离
  4. 恶意浏览器扩展 → 直接读所有 cookie
  5. 物理访问 → 借用电脑拷贝 cookie 文件
  6. Session Fixation → 让受害者用攻击者设好的 session

防御措施

  • Cookie 加 HttpOnly Secure SameSite —— 见 Session Cookie
  • 全站 HTTPS,启用 HSTS
  • 登录后重新生成 session ID(防 fixation)
  • 绑定 IP / User-Agent(过严会误杀真用户,要权衡)
  • 短 session 过期 + 滑动续期
  • 异常检测:同 session 突然换大陆 → 强制重登
  • 让用户能”踢掉所有其他设备”

真实案例

  • Firesheep (2010) —— Firefox 扩展,公共 WiFi 一键劫持 Facebook session,逼 Facebook 全站上 HTTPS
  • 2024 Snowflake 客户数据泄露 —— 多家被偷 session token,绕过 MFA

强相关:SessionSession IDSession Cookie