用途:这是一份安全反模式说明,聚焦会话固定漏洞(CWE-384),用于在生成或审查涉及用户会话、登录流程的代码时参考。严重级别为高危。
主要能力:说明攻击原理——攻击者先获取有效会话ID,诱使受害者使用该ID,若认证后服务器未重新生成会话ID,攻击者即可用同一ID劫持已认证会话。资料给出错误示例(Flask 登录成功后仅写入 session['username'],不重新生成会话ID)与正确示例(认证成功后调用 session.regenerate() 创建新会话,使登录前的会话ID失效;登出时 session.clear() 并重新生成)。
检测方式:审查登录流程代码路径,确认成功登录后显式废弃旧会话并生成全新会话ID;了解所用框架或会话库的会话ID生成与再生成机制;用浏览器开发者工具或代理(如 Burp Suite)在登录前手动设置会话ID,登录后检查是否保持不变。
防护要点:认证成功后重新生成会话ID;权限变更(如提升为管理员)时同样重新生成;在服务端使旧会话ID失效;设置安全 Cookie 标志(HttpOnly、Secure、SameSite);实现绝对超时与空闲超时。
适用场景:Web 应用的登录与会话管理代码的编写与评审。
限制:资料未提供具体框架版本、完整配置参数或价格等信息;代码示例仅为演示,secret_key 在生产环境需使用强密钥并安全管理。相关参考包括 OWASP Top 10 A07:2025、OWASP API Security API2:2023、OWASP Session Management Cheat Sheet、CWE-384、CAPEC-61。