0x01 介绍:
密码找回漏洞就如文章所写 是一种逻辑漏洞 就是就是程序验证时 逻辑存在一定得错误!!!
0x02 思路:
1.爆破验证码: 如果当验证只有4-5位存数字 爆破验证码的成功率很高 :比如 100个线程 爆破4位的也就1分多钟就搞定: 如何修复:验证码验证字数限制加时间限制 2.凭证在页面上 :比如你最后设置密码的时候, url/userid=1234$type=1 这个你修改ID 就直接可以修改他人密码; 如何修复:请勿吧重要数据返回客户端 or 数据加密不可逆 3.返回凭证: 有时候 他会把凭证 比如验证码问题答案 之类的 直接返回在html 代码里 or 数据包中 你就可以直接修改密码了 如何修复:请勿吧重要数据返回客户端 4.未严格验证:比如你在找回密码的时候 他会把验证码发送邮箱 ,但是,在发送数据时候,你将包拦截下来 修改邮箱 就可以吧验证码发送到自己的邮箱 成功绕过邮箱 如何修复:严格验证 在发送邮箱时验证接收邮箱 5.本地验证:有时候他会返回的状态码 还有返回参数值 如果你修改状态码为200 或者 参数值等于1 就可以绕过验证 如何修复:建议服务端验证 6.token 可逆 :最后在url上的参数 用户ID 加 token 结果你发现 token 可以解密 or 有规律 就可以修改ID 算出token 成功绕过 如何修复:token 不可逆 随机 7.重新绑定 邮箱 or 手机 : 有时候在注册完用户后 他要你绑定手机 or 邮箱 结果你还发现 uid 可控 怎么样绕过 我就不说了吧 23333.. 如何修复:绑定时验证用户是否以及绑定 否则会覆盖 数据 23333... 8.权限平行 :有时候他最后 验证cookie 而cookie值&uid=xxxxx ; 你修改后面的UID 一样也可以 有时候 session 也可以覆盖 如何修复:cookie session 唯一 2333.. 9.注册覆盖 :有时候 明明用户已经注册 但是他是本地进行验证 有时候加个包什么时候就绕过去了 然后添加用户成功随之覆盖 如何修复:服务端用户是否已经注册 如果存在 返回false ; 10:注册处 存在sql等其他漏洞 如何修复:这个涉及太广看官们自己想 2333...
0x03 脑洞图:
0x04 案例:
PS: 到时候你们去乌云镜像网站搜索好了
用户凭证暴力破解
四位或者六位的纯数字 例子
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: 聚美优品任意修改用户密码(非爆破)
PS:欢迎大家提供更强大的思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论