查看原文
其他

研究员再次发现 Instagram 账户接管漏洞并获得1万美元赏金

代码卫士 2022-04-06
 聚焦源代码安全,网罗国内外最新资讯!
作者:Laxman Muthiyah
编译:奇安信代码卫士团队
7月份,安全研究员 Laxman Muthiyah 曾发现了 Instagram 账户接管漏洞并因此获得3万美元的赏金。

看我如何控制任意 Instagram 账户并赢得3万美元奖励

当时该利用涉及使用5000个不同的 IP 地址发送100万个包含所有可能组合的请求来获取六位验证码。此前,Mthiyah 还因为找到能够删除视频、访问私密照片和删除用户照片的多个漏洞,从 Facebook 公司获得不菲赏金。在本文中,他详细说明了近期发现的又一个类似的 Instagram 账户接管漏洞,不过较上一个严重程度稍低。文章编译如下:
在上篇关于Instagram 账户接管漏洞的文章中我提到,Instagram 服务器使用唯一的标识符设备 ID 来验证密码重置码。当用户通过移动设备发送密码请求时,设备 ID 就会收到该请求,而且该设备 ID 被再次用于验证该重置码。

验证重置码

POST /api/v1/accounts/account_recovery_code_verify/ HTTP/1.1User-Agent: Instagram 92.0.0.11.114 Android (27/8.1.0; 440dpi; 1080×2150;Xiaomi/xiaomi; Redmi Note 6 Pro; tulip; qcom; en_IN; 152830654)Accept-Language: en-IN, en-USContent-Type: application/x-www-form-urlencoded; charset=UTF-8Accept-Encoding: gzip, deflateHost: i.instagram.comConnection: keep-aliverecover_code=123456&device_id=device-id
设备ID 是由Instagram 应用程序生成的随机字符串。那么,如果同样的设备 ID 被用于请求多个 Instagram 账户的验证码,会发生什么?我检查后发现可以使用相同的设备 ID 请求不同用户的多个验证码。
该漏洞存在于Instagram的密码恢复系统(移动设备)。用户需要在手机上接受6位验证码,之后在10分钟内输入才能更改密码。Instagram公司的开发人员虽然已经实现了某些保护机制,阻止通过暴力攻击来获取该验证码。

过程

6位数验证码的组合有100万种(从000001到999999)。当我们请求多个用户的验证码时,就增加了黑掉账户的概率。例如,如果你使用相同的设备 ID 请求10万名用户的验证码,那么你的成功率为10%,因为10万个验证码被发送到了同样的设备 ID。如果我们请求100万名用户的验证码,那么我们能够通过一个一个增加验证码的方式入侵所有100万个账户。
因此,攻击者如果要获得100%的成功率,那么就应该请求100万名用户的验证码。我们还应该注意到验证码在10分钟内过期,因此攻击必须在10分钟内完成。
目前Facebook 已修复该问题,因此我们无法使用该漏洞来破解 Instagram 账户。

补丁发布

Facebook 在发出的感谢信中指出,“由于某个恢复端点上的保护措施不充分,因此可导致攻击者生成多种有效的随机数并尝试恢复。
 

 


推荐阅读

看我如何控制任意 Instagram 账户并赢得3万美元奖励



原文链接

https://thezerohack.com/hack-instagram-again#articlescroll






题图:Pixabay License




本文由奇安信代码卫士编译,不代表奇安信观点,转载请注明“转自奇安信代码卫士 www.codesafe.cn”




奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。








您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存