Session ID 会话 ID

在用户访问系统时标识其身份和设备的唯一 token。是 session 机制的核心 —— 服务器内存里存着 SID → 用户信息 的映射,看到这个 ID 就知道”这是谁”。

长啥样

通常是一串随机字符:

SESSIONID=8f3d2a9c1b4e7f0a6d5c3b8e2f1a9d4c

必须满足三个特性:

特性不满足会怎样
足够长可被暴力枚举
足够随机(密码学级 RNG)可预测,攻击者算出来
唯一撞 ID = 串号

怎么传输

最常见:Session Cookie —— 浏览器自动带。 其他方式:

  • URL 参数(?sid=abc)—— 不推荐,日志泄露
  • Authorization Header —— API 常用
  • LocalStorage —— JS 能读,XSS 风险高

Session ID 的生命周期管理

  • 创建 —— 用密码学级 RNG 生成
  • 登录后必须重新生成 —— 防 session fixation
  • 过期 —— 服务器端有过期时间,即使 ID 还在浏览器也无效
  • 登出 —— 服务器端立即销毁,不只是删客户端 cookie

Session Hijacking 的关系

Session Hijacking 的目标就是偷这个 ID。一旦泄露,攻击者:

  • 不用密码
  • 绕过 MFA
  • 直接以你身份操作

所以保护 Session ID 等同于保护账户本身。

强相关:SessionSession CookieSession Hijacking