freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

挖洞经验 | Mail.ru子域名网站的密码重置型账户劫持漏洞
2020-08-10 17:48:30

今年4月,由于某些原因我辞职在家,无聊之余就在Hackerone上学习。也就是这么几天,我参加了Hackerone的众测项目,发现了Mail.ru子域名网站cups.mail.ru的一个密码重置型账户劫持漏洞,有点意思,分享在此。

正常的密码重置应用流

当用户重置自己的密码时,他需要点击以下密码重置链接,并在其中填入自己的绑定邮箱:

https://cups.mail.ru/faq/restore-password/restore?step=1

当用户输入自己的绑定邮箱,点击提交之后,用户邮箱中就会收到mail.ru发送来的一次性OTP密码,同时,页面也会跳转到以下OTP输入验证链接:

https://cups.mail.ru/faq/restore-password/restore?step=3

在此,用户输入有效的OTP密码,并跳转到密码重置页面:

https://cups.mail.ru/faq/restore-password/restore?step=4

之后,用户就能成功重置密码,且会在重置请求中包含了以下内容:

{“password”:”password”,”email”:”user@gmail.com”,”code”:”onetimepassword”} 

对密码重置功能的利用

经测试分析,由于上述密码重置功能缺乏权限限制,因此,我可以用它来重置任意用户密码。首先,我访问以下密码重置链接:

https://cups.mail.ru/faq/restore-password/restore?step=4

其中的原始重置请求为:

{“password”:”password”,”email”:”user@gmail.com”,”code”:”onetimepassword”}

然后,我把该请求内容更改为以下受害者邮箱字段:

{“password”:”reset”, “email”: “victim@mail.ru”}

就像下图这样:

转发请求之后,页面就跳转到了以下这个提示重置成功的链接:

https://cups.mail.ru/faq/restore-password/restore?step=5

我被惊到了,这样也行?!之后,我尝试用受害者邮箱进行登录,但提示密码已被重置。我仔细观察,发现该重置成功提示页面中还存在一个提示:Now you can to come in on Cups!其中to come in为可点击按钮:


点击之后,我就成功地进入到了受害者的Cups账户中了!

总结

不明白Mail.ru在后台的这种密码重置逻辑,但总的来说,其请求实现和点击to come in的功能中存在安全缺陷,需要做进一步的用户身份验证。漏洞上报后,收获了Mail.ru的$1500奖励:

参考来源:medium

 

# 账户劫持 # Mail.ru
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者