密码找回漏洞收集示例
- 格式: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