利用短信劫持Facebook帐号

安全 漏洞
这篇文章将演示一个简单的漏洞。利用这个漏洞,无须用户交互即可获取任意Facebook帐号的完全控制权。请看下文。

这篇文章将演示一个简单的漏洞。利用这个漏洞,无须用户交互即可获取任意Facebook帐号的完全控制权。请看下文。

Facebook允许你将自己的手机号与帐号进行关联。这让你可以通过短信接收更新信息,同时也意味着你可以通过手机号而不是邮件地址进行登录。

漏洞位于“/ajax/settings/mobile/confirm_phone.php”。它接受多个参数,但其中有两个最重要:一个是发送到手机上的验证码,一个是profile_id,就是手机号码的关联账户。

关键问题是,虽然profile_id应该设置为你自己的帐号(显而易见的),但把它修改为目标帐号的值竟不会引起任何错误。

为了利用这个漏洞,我们首先给Facebook在英国的短信服务号32665发送字母F。在回复的短信中,我们可以获取8个字符的验证码。

 

1

 

我们把这个验证码输入到密码框中(在这里),并且修改fbMobileConfirmationForm表单中的profile_id元素。

 

tumblr_inline_mnf6281C5k1qz4rgp

 

请求提交后会返回成功(HTTP 200)。你会发现__user(与AJAX请求一起发送)的值与我们修改的profile_id不同。

 

tumblr_inline_mnf62pNrnD1qz4rgp

 

注意:提交这个请求后,你也许不得不重新认证,但是要填写的密码是你自己的,而不用填目标帐号的。

然后你会收到认证成功的短信。

 

tumblr_inline_mnf63jLNca1qz4rgp

 

现在,针对已登录的用户,我们可以提交一个重置密码的请求,并设置通过短信获取重置验证码。

 

tumblr_inline_mnf6431RP01qz4rgp

 

随后你会收到一条新短信,里面有重置验证码。

 

tumblr_inline_mnf64rNipd1qz4rgp

 

我们把这个验证码填入表单中,换一个新密码,这样我们就完成了整个过程。这个帐号已经被我们控制了。

 

tumblr_inline_mnf6565Uwr1qz4rgp

 

修复方案

Facebook不再接受用户提交的profile_id变量。

漏洞处理

2013.05.23 – 漏洞反馈给了Facebook

2013.05.28 – Facebook确认了该漏洞

2013.5.28 – 问题被修复

注意

这个漏洞的奖金高达2万美元,这也反应了问题的严重性。

责任编辑:蓝雨泪 来源: IDF实验室博客
相关推荐

2023-03-13 22:23:30

2021-08-16 12:09:12

恶意软件AndroidFacebook

2022-07-29 11:13:14

恶意软件网络攻击

2012-11-09 16:10:28

2017-02-14 21:15:48

2013-05-14 09:24:12

2013-04-01 10:36:10

2014-07-23 09:28:09

2018-05-04 13:51:14

Facebookhashtag数据集

2022-02-16 15:00:24

npm 帐户劫持开发者

2021-03-02 09:41:52

Android App攻击流量

2023-12-05 15:59:19

2014-07-22 13:52:45

2023-10-12 12:46:40

2014-11-11 10:05:04

2013-03-11 18:04:02

2015-06-16 11:20:16

水坑攻击

2021-01-21 11:36:20

漏洞DNSpooq网络攻击

2023-08-03 17:57:43

2015-05-29 11:37:53

点赞
收藏

51CTO技术栈公众号