收件箱
返回开发者与 QA

Recovery会改变账号安全状态

如何把密码重置邮件当作完整安全流程来测试

从请求、token使用、密码修改、replay一直验证到最终登录,不要只检查邮件模板和投递。

约 8 分钟

Reset邮件可以看起来完全正确,但token仍可重复使用、旧链接在新请求后继续有效,或者旧密码违反策略仍能登录。测试应把邮件看作携带临时credential的一步,并验证完整account recovery流程。

从已知状态开始

  1. 1

    使用专用测试账号

    知道初始password、email和session状态。

  2. 2

    只发起一次reset

    记录时间与identity。

  3. 3

    检查链接但不要长期保存完整secret

    host、route、environment通常已足够诊断。

  4. 4

    通过公开流程改密码

    不要直接改DB制造成功。

  5. 5

    验证最终认证

    检查新旧password和session policy。

独立安全属性

属性正向负向
Expirationfresh token worksexpired fails
Single usefirst worksreplay follows policy
Supersessionnew token policyold token cannot bypass
Bindingright account changesother identity unaffected
Sessionpost-reset state correctold 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、魔法链接、密码重置和通知邮件,无需把个人邮箱放进测试数据。

创建临时邮箱

来源与延伸阅读

用于支撑测试建议的安全资料和测试运行器一手文档。

继续测试

继续查看同一邮件测试问题空间中的下一个边界。