漏洞挖掘 | Facebook电子邮件泄露和账户接管

admin 2024年11月4日15:13:46评论14 views字数 1686阅读5分37秒阅读模式

扫码领资料

获网安教程

漏洞挖掘 | Facebook电子邮件泄露和账户接管

漏洞挖掘 | Facebook电子邮件泄露和账户接管

Track安全社区投稿~  

赢千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

在进行漏洞挖掘时,我更偏好使用移动应用而非网页,因此在一月份我决定深入研究APK接口,希望能找到一些有价值的内容。

我下载了多个不同版本的Facebook和Messenger APK,提取了所有接口,进行了分类并逐一查看。

在这个过程中,我发现了一个有趣的接口,名为:

POST auth/flashcall_account_recovery

漏洞挖掘 | Facebook电子邮件泄露和账户接管

img

该接口需要三个参数: cuidencrypted_phone_numbers 和 cli

CUID基本上是指加密后的电子邮件/电话,可以很容易找到。只需提供受害者的电子邮件,

POST /recover_accounts

漏洞挖掘 | Facebook电子邮件泄露和账户接管

img

在响应中,你将获得 CUID。

其次,在查看 Facebook 的密码恢复流程时,我注意到用于发送 Facebook OTP 代码的接口中有一个名为:

should_use_flash_call=false

如果该参数设置为 false,用户将收到一条 OTP 短信;如果设置为 true,则会收到一个电话以进行账户恢复。

在响应中,包含了所需的加密电话号码。

漏洞挖掘 | Facebook电子邮件泄露和账户接管

img

我无法确定 cli 参数的具体含义,当时唯一想到的是 “cli~command line interface”。

无法确定后,我尝试使用 null 值作为参数。

当我发送请求时,成功接收到与提供的 CUID 对应的用户 ID。

这意味着攻击者可以提供任意邮箱或手机号作为 CUID,并精确确定该邮箱的所属用户。

漏洞挖掘 | Facebook电子邮件泄露和账户接管

img

我很快提交了报告,问题在一天内被评估和修复。

出于好奇,我深入研究了这个端点,因为我从未使用过“电话恢复”功能来重置密码。

在我的界面上看不到此功能,在Google和YouTube上也找不到关于该恢复流程的相关信息。

于是我开始阅读smali文件,试图分析这一恢复流程的工作方式。

该端点的工作方式如下:

1.我输入我的邮箱或手机号。
2.选择电话恢复选项。
3.收到一通电话。
4.该电话号码会自动传递给端点作为输入:
POST /flash_call_recoverycuid=x&enc_phone=x&cli=+1xxxxx
原来 cli 参数的作用是用于提供我们在步骤 3 中接收到电话的号码。
这时一切都说得通了,难怪称为电话恢复功能🤦‍♂️[1]
我猜测 cli 代表类似于呼叫者身份的含义。
在理想情况下,提供所有有效值后,我们会收到如下响应:
{“id”:”UserID”,”nonce”:”XXXX”,"skip_logout_pw_reset":""}
漏洞挖掘 | Facebook电子邮件泄露和账户接管

img
这个 nonce 值充当 OTP 代码,接着将其提供给 OTP 验证端点。
OTP 验证端点负责验证 nonce 并设置新密码。
漏洞挖掘 | Facebook电子邮件泄露和账户接管

img
在 POST /flash_call_recovery 中,我最初测试了使用受害者的 cuid 和另一个用户的有效 cli 是否可行,但结果并不奏效。
我尝试调整参数,但没有一个组合成功。
现在,我唯一的选择就是对 cli 进行暴力破解。
考虑到 Facebook 在速率限制方面非常严格,甚至在非身份验证的端点上也实施了速率限制,我几乎没有希望。
但令我感到意外的是,这个端点并没有实施速率限制。
因此攻击的步骤如下:
1.用户在闪电电话恢复端点提供受害者的 cuid 和 enc_phone_number
2.对 cli 进行暴力破解。
3.从响应中接收 nonce
4.将 nonce 提供给 OTP 验证端点,并为受害者的账户设置新密码。
下面是一个视频,演示了默认的电话账户恢复过程是如何工作的:
POC流程演示地址:https://youtu.be/UL2nkmzNPg8

References

[1] 🤦‍♂️: https://emojipedia.org/man-facepalming/

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):漏洞挖掘 | Facebook电子邮件泄露和账户接管

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月4日15:13:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞挖掘 | Facebook电子邮件泄露和账户接管https://cn-sec.com/archives/3353561.html

发表评论

匿名网友 填写信息