# Password Reset Methodology

> 密码重置与用户注册/越权修改方法论。当目标存在忘记密码/密码重置、验证码回显、校验绕过、任意用户密码修改、越权注册（registersysuser、goedituser 等接口）、thinkphp 商城登录短信验证码等场景时使用。覆盖密码重置链路分析、验证码回显/爆破、短信验证码绕过、任意用户密码修改与越权注册、spring 类 .do 接口鉴权绕过（login_tologin.do 等）与授权边界

- Skill: `wgpsec/password-reset-methodology` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wgpsec/password-reset-methodology`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wgpsec/password-reset-methodology/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: wgpsec (https://skillmd.com/u/wgpsec)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wgpsec/password-reset-methodology

---


# 密码重置 / 越权注册与修改方法论

## 适用场景

涉及密码找回、验证码、用户注册/资料修改接口时使用。

## Phase 1: 密码重置链路分析

```
忘记密码流程
├── 步骤：手机号/邮箱 → 验证码 → 重置密码
├── 每个步骤的请求/响应都要抓包分析
└── 重点：验证码如何校验、如何返回、是否可重放
```

## Phase 2: 验证码问题排查

1. **验证码回显**：响应包/接口返回中直接包含验证码（短信/图片/邮箱验证码回显）
2. **验证码可爆破**：验证码位数过短（4 位）且无频率限制
3. **验证码校验绕过**：删除/置空 code 参数、修改响应、并发重放、万能验证码
4. **短信轰炸/发送接口未限频**：发送验证码接口无次数限制

## Phase 3: 任意用户密码修改与越权注册

- 重置接口替换目标手机号/用户 ID：`mobile=<目标>&code=<自己的验证码>`
- 注册/改资料接口越权：`registersysuser`、`goedituser` 等接口无鉴权或未校验数据归属
- 校验方式：用 A 的验证码重置 B 的账号；低权限/未登录调用管理类注册接口
- 示例：`login_tologin.do` 类登录/注册入口存在鉴权绕过时，可未授权注册管理员

## Phase 4: thinkphp 商城短信验证码

- 商城类系统（thinkphp 框架）短信验证码常见问题：验证码存 Session 可并发、接口可重放、返回包泄露 code
- 登录/注册/找回密码三处验证码逻辑分别测试

## 授权边界

- 仅限授权渗透测试
- 不批量重置他人账号；验证到可越权即停

## 关联

- 鉴权绕过补充 → 401-403-bypass
- 图片验证码识别绕过 → captcha-bypass-methodology

