当前位置:主页>科 研>学术交流>

利用短信劫持Facebook帐号

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

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

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

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

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

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

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

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

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

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

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

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

修复方案

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

漏洞处理

2013.05.23 ?C 漏洞反馈给了Facebook

2013.05.28 ?C Facebook确认了该漏洞

2013.5.28 ?C 问题被修复

注意

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

(责任编辑:)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

容器是如何让“一切都是代码”成为现实的

容器是如何让“一切都是代码”成为现实的

现代应用的发展在很大程度上要归功于DevOps运动的蓬勃兴起以及该运动所产生的各种自动...[详细]

如何快速掌握一门新技术/语言/框架

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能...[详细]

建高效数据中心有径可循

建高效数据中心有径可循

能耗问题一直是各大数据中心的心头之痛。有数据表明,2015年我国数据中心能耗预计将高...[详细]

2015黑帽大会:网络灾难后 重建IT安全

2015黑帽大会:网络灾难后 重建IT安全

在遭遇网络灾难后重建IT安全似乎是不可能完成的任务,但根据安全专家Christina Kubeck...[详细]

面对DNS劫持 企业移动应用该如何防护?

面对DNS劫持 企业移动应用该如何防护?

DNS(Domain Name System)劫持又称域名劫持,是指对正常的域名解析请求加以拦截,转而...[详细]

返回首页 返回顶部