密码找回漏洞收集示例

  • 格式:docx
  • 大小:1.60 MB
  • 文档页数:17

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

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

 分析数据包,找到敏感部分

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

 修改数据包验证推测

0x02 脑图

0x03 详情

用户凭证暴力破解

四位或者六位的纯数字 例子

WooYun: 当当网任意用户密码修改漏洞 WooYun: 微信任意用户密码修改漏洞

返回凭证

url返回验证码及token 例子

WooYun: 走秀网秀团任意密码修改缺陷

WooYun: 天天网任意账户密码重置(二)

密码找回凭证在页面中

通过密保问题找回密码 例子

WooYun: sohu邮箱任意用户密码重置

返回短信验证码

例子

WooYun: 新浪某站任意用户密码修改(验证码与取回逻辑设计不当)

邮箱弱token

时间戳的md5 例子

WooYun: 奇虎360任意用户密码修改漏洞

用户名 & 服务器时间

WooYun: 中兴某网站任意用户密码重置漏洞(经典设计缺陷案例)

用户凭证有效性

短信验证码 例子

WooYun: OPPO手机重置任意账户密码(3)

WooYun: 第二次重置OPPO手机官网任意账户密码(秒改)

WooYun: OPPO修改任意帐号密码

邮箱token

例子

WooYun: 身份通任意密码修改-泄漏大量公民信息

重置密码token

例子

WooYun: 魅族的账号系统内存在漏洞可导致任意账户的密码重置

重新绑定

手机绑定 例子

WooYun: 网易邮箱可直接修改其他用户密码

WooYun: 12308可修改任意用户密码

邮箱绑定

例子

WooYun:

某彩票设计缺陷可修改任意用户密码

WooYun: 中国工控网任意用户密码重置漏洞

服务器验证

最终提交步骤 例子

WooYun: 携程旅行网任意老板密码修改(庆在wooyun第100洞)

服务器验证可控内容

例子

WooYun: AA拼车网之任意密码找回2

WooYun: 四川我要去哪517旅行网重置任意账号密码漏洞

服务器验证验证逻辑为空

例子

WooYun: 某政企使用邮件系统疑似存在通用设计问题

用户身份验证

账号与手机号码的绑定

WooYun: 上海电信通行证任意密码重置

账号与邮箱账号的绑定

例子

WooYun: 魅族的账号系统内存在漏洞可导致任意账户的密码重置

WooYun: 和讯网修改任意用户密码漏洞

找回步骤

跳过验证步骤、找回方式,直接到设置新密码页面 例子

WooYun: OPPO手机同步密码随意修改,短信通讯录随意查看

WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷

本地验证

在本地验证服务器的返回信息,确定是否执行重置密码,但是其返回信息是可控的内容,或者可以得到的内容 例子

WooYun: 看我如何重置乐峰网供应商管理系统任意用户密码(管理员已被重置)

WooYun: oppo重置任意用户密码漏洞(4)

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

例子

WooYun: OPPO修改任意帐号密码-3 WooYun: OPPO修改任意帐号密码-2

注入

在找回密码处存在注入漏洞 例子

WooYun: 用友人力资源管理软件(e-HR)另一处SQL注入漏洞(通杀所有版本)

Token生成

token生成可控 例子

WooYun: 天天网任意账号密码重置(非暴力温柔修改)

WooYun: 天天网再一次重置任意账号密码(依旧非暴力)

注册覆盖

注册重复的用户名 例子

WooYun: 中铁快运奇葩方式重置任意用户密码(admin用户演示)

session覆盖

例子

WooYun: 聚美优品任意修改用户密码(非爆破)

附脑图文件:密码找回漏洞挖掘.zip

WooYun: 微信任意用户密码修改漏洞

同样问题产生在重置用户密码的环节.

在微信官方的首页上发现新增了如下功能模块

访问后看到这个功能.来了兴趣

在这个页面输入一个已经注册了微信的手机号.

得到如下提示

选择我已收到验证码就跳转到一个修改密码的页面,如下

在这一步抓包.得到如下包文

code 区域 check=false&phone=18666666666&t=w_password_phone&isemail=0&value=18666666666&method=reset&country=A86&getmethod=web&password=zzzzzz&password2=zzzzzz&verifycode=1234

将包文中的verifycode进行重复提交后发现会提示

这样的话.就要想办法去突破.

经过一系列尝试后发现如果在phone=18666666666的号码后面添加不为数字的字符时,可以绕过此限制.于是推理出其判断方法

如果phone=18666666666的尝试次数大于阀值,则提示请求过于频繁

但在这一步之前没有对phone进行提纯.所以可以将特殊字符带入

但在下一步的时候进行了提纯.只取了phone中的数字部分.

然后在取出此号码的verifycode进行比对.

比对成功则修改密码

修改密码成功.

这个地方的薄弱环节在于微信重置密码的验证码为4-5位纯数字.

且数字范围在1000-20000之间

也就是说.我只要尝试19000次.我用50个线程发包.3分钟即可成功修改一个密码.

WooYun: 走秀网秀团任意密码修改缺陷

进入秀团登陆处,点忘记密码,选择手机号重设 /account/repass.php

输入帐号的手机号码,点击获取验证码,此时注意抓包,或是使用firefox的firebug查看请求链接,将发现验证码出现。。。

直接输入验证码即可修改密码。。。

WooYun: sohu邮箱任意用户密码重置

可通过搜狐登录页中的找回密码功能,再点击下面的“网上申诉”,在申诉页面的源代码里,不但有密码提示问题,Hide表单里竟然泄露问题答案,可获得任意用户修改密码问题答案,从而轻松修改任意用户邮箱密码 漏洞证明:

图片是用webmaster@用户获得的信息,当然我没有修改他的密码

WooYun: 新浪某站任意用户密码修改(验证码与取回逻辑设计不当)

问题网站/ 【新浪二手房】

在主站登录处点击登录

随后点击忘记密码

在/login/findpassword 界面输入用户名时抓包

可以看到返回数据中含有该用户的手机号 通过解密,得到此用户shenzhen的手机号为182****7672

在密码找回处输入解密后的手机号,并点发送验证码。再次抓包

可见短信验证码加密后返回给了浏览器,我们解密。得出验证码为234589。

成功重置密码

漏洞证明:

****************************

下面就是有意思的了

通过几次测试,发现该网站的验证码程序很有意思。

所有验证码为6位,且依次每位均比左边一位大。

比如会出现123456,但一定不会出现123465的情况。

重置后的密码也遵循此规律。

另外验证码第一位只会是2、3、4。

****************************

下面给出我的破解字典

code 区域 234567

234568

234569

234579

234589

234578

234679

234678

234789

235789

236789

245678

245679

245689

245789

246789

256789

345678

345679

456789