# 密码找回逻辑漏洞总结

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-03-09T02:48:00Z
Canonical: https://wepostx.com/topics/738

> 乌云历史资料归档
>
> **原始作者：** BMa
> **原始编号：** superkieran-wooyundrops:494
> **原始发布时间：** 2015-03-09 10:48
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x00 背景介绍

请注意这两篇文章：
[密码找回功能可能存在的问题](http://drops.wooyun.org/papers/287)
[密码找回功能可能存在的问题（补充）](http://drops.wooyun.org/web/3295)
距离上两篇文档过去近半年了，最近整理密码找回的脑图，翻开收集的案例，又出现了一些新的情况，这里一并将所有见到的案例总结并分享给大家，在测试时可根据这个框架挖掘！

# 0x01 密码找回逻辑测试一般流程

- 首先尝试正常密码找回流程，选择不同找回方式，记录所有数据包

- 分析数据包，找到敏感部分

- 分析后台找回机制所采用的验证手段

- 修改数据包验证推测

# 0x02 脑图

![原文图片](/media/2016/06/fdf0abe6da3bc8b16244a847fa4e85a2)

# 0x03 详情

## 用户凭证暴力破解

四位或者六位的纯数字 例子
[WooYun: 当当网任意用户密码修改漏洞](http://www.wooyun.org/bugs/wooyun-2012-011833)
[WooYun: 微信任意用户密码修改漏洞](http://www.wooyun.org/bugs/wooyun-2012-011720)

## 返回凭证

url返回验证码及token 例子
[WooYun: 走秀网秀团任意密码修改缺陷](http://www.wooyun.org/bugs/wooyun-2012-05630)
[WooYun: 天天网任意账户密码重置（二）](http://www.wooyun.org/bugs/wooyun-2014-058210)

## 密码找回凭证在页面中

通过密保问题找回密码 例子
[WooYun: sohu邮箱任意用户密码重置](http://www.wooyun.org/bugs/wooyun-2012-04728)

## 返回短信验证码

例子
[WooYun: 新浪某站任意用户密码修改（验证码与取回逻辑设计不当）](http://www.wooyun.org/bugs/wooyun-2014-085124)

## 邮箱弱token

时间戳的md5 例子
[WooYun: 奇虎360任意用户密码修改漏洞](http://www.wooyun.org/bugs/wooyun-2012-08333)

## 用户名 & 服务器时间

[WooYun: 中兴某网站任意用户密码重置漏洞（经典设计缺陷案例）](http://www.wooyun.org/bugs/wooyun-2015-090226)

## 用户凭证有效性

短信验证码 例子
[WooYun: OPPO手机重置任意账户密码（3）](http://www.wooyun.org/bugs/wooyun-2014-053349)
[WooYun: 第二次重置OPPO手机官网任意账户密码（秒改）](http://www.wooyun.org/bugs/wooyun-2014-053079)
[WooYun: OPPO修改任意帐号密码](http://www.wooyun.org/bugs/wooyun-2013-020032)

## 邮箱token

例子
[WooYun: 身份通任意密码修改-泄漏大量公民信息](http://www.wooyun.org/bugs/wooyun-2012-012572)

## 重置密码token

例子
[WooYun: 魅族的账号系统内存在漏洞可导致任意账户的密码重置](http://www.wooyun.org/bugs/wooyun-2014-078208)

## 重新绑定

手机绑定 例子
[WooYun: 网易邮箱可直接修改其他用户密码](http://www.wooyun.org/bugs/wooyun-2012-08307)
[WooYun: 12308可修改任意用户密码](http://www.wooyun.org/bugs/wooyun-2014-081467)

## 邮箱绑定

例子
[WooYun: 某彩票设计缺陷可修改任意用户密码](http://www.wooyun.org/bugs/wooyun-2015-092319)
[WooYun: 中国工控网任意用户密码重置漏洞](http://www.wooyun.org/bugs/wooyun-2014-086726)

## 服务器验证

最终提交步骤 例子
[WooYun: 携程旅行网任意老板密码修改(庆在wooyun第100洞)](http://www.wooyun.org/bugs/wooyun-2013-018263)

## 服务器验证可控内容

例子
[WooYun: AA拼车网之任意密码找回2](http://www.wooyun.org/bugs/wooyun-2014-080278)
[WooYun: 四川我要去哪517旅行网重置任意账号密码漏洞](http://www.wooyun.org/bugs/wooyun-2014-082582)

## 服务器验证验证逻辑为空

例子
[WooYun: 某政企使用邮件系统疑似存在通用设计问题](http://www.wooyun.org/bugs/wooyun-2014-088927)

## 用户身份验证

账号与手机号码的绑定
[WooYun: 上海电信通行证任意密码重置](http://www.wooyun.org/bugs/wooyun-2014-075941)

## 账号与邮箱账号的绑定

例子
[WooYun: 魅族的账号系统内存在漏洞可导致任意账户的密码重置](http://www.wooyun.org/bugs/wooyun-2014-078208)
[WooYun: 和讯网修改任意用户密码漏洞](http://www.wooyun.org/bugs/wooyun-2015-091216)

## 找回步骤

跳过验证步骤、找回方式，直接到设置新密码页面 例子
[WooYun: OPPO手机同步密码随意修改，短信通讯录随意查看](http://www.wooyun.org/bugs/wooyun-2013-042404)
[WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷](http://www.wooyun.org/bugs/wooyun-2015-098765)

## 本地验证

在本地验证服务器的返回信息，确定是否执行重置密码，但是其返回信息是可控的内容，或者可以得到的内容 例子
[WooYun: 看我如何重置乐峰网供应商管理系统任意用户密码（管理员已被重置）](http://www.wooyun.org/bugs/wooyun-2014-083035)
[WooYun: oppo重置任意用户密码漏洞(4)](http://www.wooyun.org/bugs/wooyun-2014-069987)

## 发送短信等验证信息的动作在本地进行，可以通过修改返回包进行控制

例子
[WooYun: OPPO修改任意帐号密码-3](http://www.wooyun.org/bugs/wooyun-2013-020532)
[WooYun: OPPO修改任意帐号密码-2](http://www.wooyun.org/bugs/wooyun-2013-020425)

## 注入

在找回密码处存在注入漏洞 例子
[WooYun: 用友人力资源管理软件（e-HR）另一处SQL注入漏洞（通杀所有版本）](http://www.wooyun.org/bugs/wooyun-2014-068060)

## Token生成

token生成可控 例子
[WooYun: 天天网任意账号密码重置(非暴力温柔修改)](http://www.wooyun.org/bugs/wooyun-2015-094242)
[WooYun: 天天网再一次重置任意账号密码(依旧非暴力)](http://www.wooyun.org/bugs/wooyun-2015-095729)

## 注册覆盖

注册重复的用户名 例子
[WooYun: 中铁快运奇葩方式重置任意用户密码(admin用户演示)](http://www.wooyun.org/bugs/wooyun-2014-088708)

## session覆盖

例子
[WooYun: 聚美优品任意修改用户密码(非爆破)](http://www.wooyun.org/bugs/wooyun-2014-085843)
附脑图文件：[密码找回漏洞挖掘.zip](http://static.wooyun.org/drops/20150309/2015030903011489919%E5%AF%86%E7%A0%81%E6%89%BE%E5%9B%9E%E6%BC%8F%E6%B4%9E%E6%8C%96%E6%8E%98.zip)

## Replies
