首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Facebook的手机扫码登录漏洞

Facebook最近推出了忘记密码的手机登录功能,我发现该功能中的二维码扫描存在漏洞,可以利用其进行CSRF攻击,劫持其它Facebook账户。

当我的手机中跳出这个二维码扫描登录界面时,我就想尝试对它进行一些安全测试。首先,我就想到了利用在线服务 QrCode Decoder 来解码二维码信息,解码信息如下:

得出的对应登录链接为:

https://m.facebook.com/xdl/approve/?n=AYK8pQLRNK7UtXH77qI48xUnEHXb0rf2ySjUTHVjA6H-pU5gkI1JPYzit6wCp2z1tTNKZbXScD4MUshQuaP5M9H9j0e_x2ZK0ee9jkjLvv5-sQ&d=AYItt0ByoBCJEFQNGwike6sOHJyPJvDTCOruRgesi-7vvdIm4T3g22-FUW0f0Jph6gPYE3t10SddJ-rS7fg-z9VI&ext=1512136729&hash=AYKa_wmq-7CeeTac

打开该链接后提示成功登入:

在请求处理过程中,为了保证二维码信息不会过期,利用BurpSuite抓包并转发至repeater中进行测试,而当我把保存缓存token的fbdtsg值由 AQG8uIRB5b_U:AQHYfzdc7VMV 更改为 AQG8uIRB5b_U:AQHYfzdc7AB之后,服务端竟然还能有效接收!(因涉及隐私抱歉此处不上图--)

由此,我立马创建了一个CSRF格式请求:

哦,该请求被拒绝了:

经过对Facebook二维码机制作了了解,监测分析了所有请求流量,并对brainfuc*k编译语言进行学习之后,我才明白受害者只要第一次点击那个链接之后,Facebook服务器触发到二维码扫描功能,只有第二次点击才能实现CSRF攻击,因此,我把上述CSRF代码作了及时调整:

最终CSRF请求成功,在对3-4个账户间进行测试后,漏洞确定有效,这种方法可针对受害者在密码重置时进行攻击,从而实现账户劫持。

PoC视频:

http://v.youku.com/v_show/id_XMzIyNzUxMDAwMA==.html

NND,向Facebook上报该漏洞后,经过3天多时间的等候,他们竟然说我的漏洞已经有人上报了,而且还不会给我任何奖励,唉,也没关系了,就当是练练手。

*参考来源:securitybreached,freebuf小编clouds编译,转载请注明来自FreeBuf.COM

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218B0MKEE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券