hunt-session 是 recon-skills 技能集中的一项会话管理安全测试技能,用于系统性核查 Web 应用会话生命周期中的失效与固定类缺陷。
用途与重点目标:会话固定导致管理员接管、改密或改邮箱后旧会话仍存活(持久账户接管)、登出后旧令牌仍可用、刷新令牌无轮换或缺少重用检测、会话 ID 可预测或熵不足、JWT 作为会话但无 exp 或无法吊销、缺失 __Host-/__Secure- 前缀、SameSite=Lax 仅靠兄弟子域可绕过的 CSRF,以及 DBSC 设备绑定可降级等。
主要能力与方法:强调“双会话”验证,所有失效/固定结论都必须由真实流程捕获的两个具体会话证明,而非占位字符串。技能内提供基于 curl 的 Netscape cookie jar 提取器 get_cookie,覆盖 sid、JSESSIONID、connect.sid、PHPSESSID、laravel_session 等命名,并处理 #HttpOnly_ 前缀行。分阶段覆盖:登录时不重生会话 ID 的会话固定(含强制指定 ID)、/api/logout 后重放旧 cookie、改密与改邮箱后重放旧会话、Set-Cookie 属性分析(HttpOnly/Secure/SameSite/__Host-)、会话 ID 熵采样(建议 200+ 样本,参考 NIST SP 800-63B ≥64 位熵)、JWT 解码检查 exp/jti 及吊销、刷新令牌轮换与重用检测、OAuth/SSO 会话联动与 DBSC 降级测试。
使用方式:以 TARGET 环境和测试账号运行文档给出的 curl 命令流程,逐阶段记录 BEFORE/AFTER 响应体并做体对比,抑制误报。JWT 算法/kid 篡改交由 hunt-api-misconfig,OAuth state/redirect_uri 缺陷交由 hunt-oauth,CSRF 机制交由 hunt-csrf,cookie 窃取链交由 hunt-xss/hunt-dom。
限制与前提:需具备可授权的测试环境与测试账号,禁止使用真实第三方账号;仅凭状态码或长随机外观不能作为结论,必须做响应体差异、垃圾 cookie 负向对照、短延迟和换 IP 复测;HttpOnly 缺失仅在存在真实 XSS/DOM 汇聚点时才算发现。付费、价格、平台支持等资料未提供,暂未说明。