首页/安全/渗透测试与安全评估速查/会话超时与注销检查
常见漏洞验证121 条

会话超时与注销检查

核查会话生命周期:空闲超时、绝对超时、注销后服务端失效、多端登录策略;注销仅清前端不算修复。

会话生命周期看什么

会话生命周期覆盖四件事:空闲超时(多久无操作失效)、绝对超时(无论活跃与否的最长存活时间)、注销(服务端是否真的销毁会话)、多端与并发登录策略。常见误判是把“页面跳回登录页”当作注销成功——那只是前端跳转,服务端会话可能仍然有效。

基本信息

检查点空闲超时、绝对超时、注销、多端登录、令牌刷新
验证方式注销后用原标识重放请求;静置超过阈值后重试
判定标准服务端拒绝已注销或已超时标识,返回未认证状态
适用平台Web 会话、移动端 Token、API 网关签发的访问令牌

典型使用场景

  • 金融、政务类系统上线前核查超时策略是否与合规要求一致
  • 移动端评估中确认令牌刷新与失效逻辑
  • 多端并发的业务系统核查异地登录与挤下线策略
  • 事故复盘时确认被盗令牌的有效窗口期
  • 运维侧核查会话存储(Redis/数据库)的清理机制

验证步骤

验证步骤
curl -isS -b jar.txt https://app.example.com/api/me        # 注销前确认已认证
curl -isS -b jar.txt -X POST https://app.example.com/logout # 执行注销
curl -isS -b jar.txt https://app.example.com/api/me         # 用原标识重放:应为未认证而不是 200
# 空闲超时:静置超过阈值后再重放一次,并记录首次失效的时间点

检查点与期望

检查点期望值参考异常表现
空闲超时按业务风险设定,管理面更短数小时不操作仍保持登录
绝对超时存在固定上限会话可无限续期
注销服务端立即失效重放仍返回业务数据
多端策略按业务约定限流或允许并存无任何限制与提示
令牌刷新刷新后旧令牌失效新旧令牌可同时使用
修复视角:会话状态保存在服务端,注销与超时后统一致失效;前端清理本地存储只是体验优化,不能作为失效手段。
超时时间要与业务风险挂钩:管理后台、支付确认页这类高敏场景通常要求更短的空闲超时,并在临近失效时给出续期提示。

易错点

  • 以“页面跳回登录页”判断注销成功,服务端会话其实仍然有效
  • 只测空闲超时不测绝对超时,长期自动续期的会话实际永不失效
  • 忽略多端登录策略:被挤下线的设备仍能继续调用接口
  • 超时策略未与业务风险分级挂钩,管理面与普通浏览使用同一长超时
  • 会话存储在 Redis 等外部组件时未核查清理与持久化配置,容器重启后会话状态与预期不符

数据来源与参考

  • OWASP WSTG WSTG-SESS-06
  • OWASP ASVS V3
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌