Reset邮件可以看起来完全正确,但token仍可重复使用、旧链接在新请求后继续有效,或者旧密码违反策略仍能登录。测试应把邮件看作携带临时credential的一步,并验证完整account recovery流程。
从已知状态开始
- 1
使用专用测试账号
知道初始password、email和session状态。
- 2
只发起一次reset
记录时间与identity。
- 3
检查链接但不要长期保存完整secret
host、route、environment通常已足够诊断。
- 4
通过公开流程改密码
不要直接改DB制造成功。
- 5
验证最终认证
检查新旧password和session policy。
独立安全属性
| 属性 | 正向 | 负向 |
|---|---|---|
| Expiration | fresh token works | expired fails |
| Single use | first works | replay follows policy |
| Supersession | new token policy | old token cannot bypass |
| Binding | right account changes | other identity unaffected |
| Session | post-reset state correct | old sessions removed when required |
把OWASP要求变成black-box测试
OWASP建议reset token随机、足够长、安全存储、有限有效期、单次使用,并要求在valid token出现前不要修改account state。
QA可以直接测试expiration、replay以及invalid token之后状态是否保持不变。
安全诊断信息
- identity/environment
- request timestamps
- sanitized host/route
- first use/replay
- old/new login
- session state
只有正确账号在正确时间用正确token完成一次恢复,并进入产品承诺的安全状态,password reset才真正通过测试。
需要一个干净的收件地址做手工邮件 QA?
使用 MailOnce 检查真实的注册、OTP、魔法链接、密码重置和通知邮件,无需把个人邮箱放进测试数据。
创建临时邮箱来源与延伸阅读
用于支撑测试建议的安全资料和测试运行器一手文档。
继续测试
继续查看同一邮件测试问题空间中的下一个边界。