本文讲述了我在facebook上发现的一个任意账户密码重置漏洞,利用该漏洞无需用户交互过程,就可以黑掉任何Facebook账户。总体来说,该漏洞非常简单,但影响和威胁严重度较高,最终我获得了Facebook方面奖励的$15000美元赏金。

漏洞情况

该漏洞原理在于,我可以获取任意其他用户的密码重置权限,通过简单地密码重置操作,我就能获取到其他账户的消息、FB支付区域的借记卡信息、个人照片等其它隐私信息。最终,Facebook确认了该漏洞,并作出了迅速的修复措施。

漏洞分析

当Facebook用户忘记了登录密码之后,有一种方式就是,在以下’找回账户’的链接内输入个人手机号或注册邮箱来重置密码。

;lwv=110

完成输入之后,Facebook会向用户手机或邮箱发送一个6位数验证代码,然后用户根据提示输入该6位数验证码,最后实现密码重置。

一开始,我非常笨地去尝试暴力破解www.上生成的这个6位数验证码,但在10多次无效测试后,我自己的账户就被锁定了,擦。

之后,我就在beta.和mbasic.beta.上继续捣鼓,有意思的是,这两个Facebook的子域名站点在密码重置服务中,竟然未设置限制登录的尝试次数!

漏洞测试-POC

我想,那就针对这个发向账户手机或邮箱的6位数验证码做个暴力测试吧。按照Facebook的漏洞披露策略,测试过程不能对他人账户造成影响,于是呢,过了一会,我就用我自己的Facebook账户来进行测试。

测试过程大致是这样的,在以下账户找回链接内,输入目标测试账户的注册手机号或邮箱地址:

https://beta./login/identify?ctx=recover&lwv=110

https://mbasic.beta./login/identify?ctx=recover&lwv=110

输入之后,点’搜索’,链接会跳转到一个6位数验证码的确认页面,此时,拉出BurpSuite,对该页面中要输入的6位数验证码做暴力猜解。非常让我意想不到的是,在BurpSuite神器的助力下,在合理范围内数字组合和稍许时间后,竟然能有效发现目标测试账户的这个6位数验证码!

最终,凭着这个6位数验证码就能有效重置目标账户密码,有效登录目标账户,实现‘找回账户’目的,当然也就成功地‘黑掉’了目标账户,是不是很简单也很厉害!

存在漏洞的请求端

POST /recover/as/code/ HTTP

Host: beta.

lsd=AVoywo13&n=XXXXX

可对上面这个“n”参数涉及的6位XXXXX验证码进行暴力猜解,能有效发现发往测试目标账户的6位验证码,从而实现对目标账户的密码重置和登录。

漏洞披露进程

2016年2月22日 向Facebook安全团队上报漏洞

2016年2月23日 Facebook方面确认漏洞并完成快速修复

2016年3月2日 Facebook向我奖励了$15,000美元赏金

1.《[如何重置facebook密码]Facebook重置密码》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《[如何重置facebook密码]Facebook重置密码》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3217213.html