黑了Facebook账户,白帽子获一万五千美元的奖励
2016-03-14 21:47:27 来源: 老王隔壁的白帽子 FreeBuf 评论:0 点击:
这篇文章的内容是通过一个简单的不需要用户交互的漏洞就能黑掉所有Facebook用户的账号,使得我能查看被黑用户的信息、信用卡/储蓄卡信息、个人照片等。Facebook确认了这个漏洞,在修复了这个漏洞的同时根据这个漏洞的严重性和影响程度而支付了我$15,000。
漏洞描述
如果用户忘记账号密码,可以在 https://www.facebook.com/login/identify?ctx=recover&lwv=110输入手机号码/邮箱地址来进行密码重置,之后Facebook会发送一个6位验证码到该手机或者邮箱中,通过输入该验证码就能进行密码重置。我尝试在主站上进行6位验证码的爆破,但是会在10-12次失败后被禁止操作。
于是我在beta.facebook.com和mbasic.beta.facebook.com尝试同样的爆破行为,发现这两个地方没有进行限制。我尝试对我的账号进行密码找回(因为 Facebook有规定不能对其他用户的账号进行破坏),并且成功的重置了我的密码。
漏洞验证视频
<iframe src="http://v.qq.com/iframe/player.html?vid=u0187mh6q2x&tiny=0&auto=0" frameborder="0" width="500" height="450"></iframe>
在视频中你可以看到,我能够通过爆破发送给你的验证码来对你的密码进行重置。
攻击向量
POST /recover/as/code/ HTTP/1.1
Host: beta.facebook.com
lsd=AVoywo13&n=XXXXX
n参数为验证码的值,对这个参数进行爆破就能重置任意用户的密码。
最后想说一下:很简单的一个漏洞就能控制所有用户的账号,并且Facebook却给予了高额的奖金,足以说明该公司对安全的重视程度。这个漏洞是因为安全防范没有统一造成的,通过统一入口点可能可以减少这种漏洞发生的概率,当然统一入口点也会带来其他的问题,这些都需要开发者进行深度的考量,只有这样才能将安全做到最极致。