如何使用密码重置功能接管所有用户帐户
我在一个外部的bugbounty程序中发现了这个bug并获得了500美金,你可以用谷歌黑客语法
inurl:/responsible-disclosure/“reward”
搜索它,这里就不提程序名称了。
首先我做了一个子域枚举,但只找到了 3 个域。
是的,一切都在 cloudflare 后面,不想浪费时间在 CF 后面寻找 ip 我立即注册一个帐户。
Web 使用 otp 来验证注册用户。
嗯……强制代码的速率限制可能吗?不幸的是,该程序实现了 X-Rate-Limit: 100,这意味着在某个时间只允许 100 个请求。
好的,转到帐户仪表板,在接下来的 2 小时内,我尝试输入一些 xss 绕过有效负载,但 cloudflare 一直阻止我,不要再浪费时间了。我顿了顿,想起了密码重置功能。
我立即重置了密码,别忘了总是打开你的Burp。流程密码重置“输入电子邮件 => 6 位 otp 代码将发送到电子邮件 => 验证 otp => 输入新密码”。
在这里,我检查了我的Burp历史,发现了一些有趣的东西。
验证码后,创建新密码时不再输入密码,所以我在想,如果输入错误的密码,然后用新密码替换code参数,步骤如下:
1.重设密码
2.输入随机码并用Burp拦截并发送到Repeater模块
3.之前我用正确的OTP保存了密码重置请求,看到OTP“ValidationCode”没有再次输入
4.将参数“ValidationCode”替换为“password”,是的,密码已成功重置
这样我也可以接管管理员帐户,然后我立即写报告,并在 4 天内修复了错误。
报告日期:
2020 年 8 月 8 日,上午 11:25:报告提交于
2020 年 8 月 8 日,下午 2:49:程序首次响应
2020 年 8 月 12 日,上午 5:39:错误修复
2020 年 8 月 27 日,晚上 8:20:赏金金额公告
2020 年 9 月 13 日凌晨 1:20:赏金提交,500美金到手
推荐阅读:
原文始发于微信公众号(HACK学习君):实战 | 记一次使用密码重置功能接管所有用户帐户
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论