用途:该技能面向获得明确书面授权的安全评估或漏洞赏金场景,用于系统化测试“忘记密码/账户恢复”流程中的认证缺陷,识别可导致用户名枚举、账户接管等风险的弱点。
主要能力:围绕密码重置流程覆盖多种漏洞类别。1)用户名枚举:通过对比无效邮箱与已知有效邮箱的响应差异(消息文本、HTTP状态码、响应体长度)判断是否存在枚举;2)重置令牌暴露:检查忘记密码接口是否直接在响应体中返回令牌、链接或验证码;3)令牌重放:完成一次重置后再次提交同一令牌,验证是否仍被接受;4)缺少速率限制:对同一邮箱快速多次请求,结合实际邮件投递/冷却与授权阈值,仅报告实测速率与窗口;5)弱/可预测令牌:分析令牌是否基于时间戳、用户名、顺序ID、短数字码等可猜测因素;6)令牌作用域与账户绑定:验证令牌是否不可猜测、短时效、单次使用,并绑定到预期账户和重置目的,同时检查通过Referer或第三方资源泄露令牌的可能性;7)重置链接不过期:测试旧令牌是否仍有效;8)重置端点无速率限制:评估邮件轰炸、令牌暴力破解和规模化枚举风险。
使用方式:使用前必须通过强制确认门禁——要求用户说明确切目标URL、IP、账户或资源,确认书面授权与允许范围,展示将执行的具体命令并解释预期效果,等待当前对话中的明确确认。未确认时保持只读并提供防御性指导。技能建议优先从用户名枚举开始,因其最快且是后续测试的前提;并提示根据登录页面HTML判断接口是JSON REST API还是传统HTML表单,以选择正确的Content-Type。判定证据包括:枚举需响应可测量差异;令牌暴露需响应体中出现令牌;令牌重放需第二次使用成功且真正改变账户状态。
适用场景:适用于有明确授权范围的渗透测试或漏洞赏金项目,需要侦察、验证或利用密码找回流程缺陷时;也适合在沙箱、一次性虚拟机或受控实验环境中进行学习与防御研究。
限制:仅限授权范围,任何探测、利用或凭据访问命令前必须完成确认门禁;该技能为文档式导入,上游辅助脚本、命令、引擎和研究资产未捆绑,需从源仓库重新安装工具;所有发现需经过验证后再报告,避免仅凭长度/状态差异下结论,应重复受控的有效/无效测试账户对比以排除动态内容、时序噪声和本地化影响;重放需观察第二次请求是否真正改变已批准账户状态,而非仅HTTP 200;不得对真实邮箱进行 flooding;OWASP建议重置令牌应短时效且单次使用,但无硬性RFC规定具体时长。