> instagram账号 >

看我如何破解 Instagram 账户 - 知乎

2020-04-20 阅读:


这篇文章讲述了我是如何在Instagram上发现漏洞的,理论上我可以在未经许可的情况下入侵任意的Instagram账户。Facebook和Instagram的安全团队接收到我的漏洞报告后确认了漏洞的存在,并奖励了我3万美元。

Facebook一直在努力改善其所有平台的安全性能,作为计划的一部分,他们最近提高了所有关键漏洞(包括账户接管)的奖金。所以我决定去Instagram网站试试运气。幸运的是,我发现了一个帐户接管漏洞。

在寻找帐户接管漏洞时,我首先想到的是Instagram帐户的忘记密码端点。于是我试图在Instagram 网页界面上重置我的密码,但是他们有一个基于链接的密码重置机制非常强大,几分钟的测试后,我找不到任何错误。

然后,我开始研究基于手机验证码的重置密码功能,那里应该是一个易受影响的切入点。当用户在重置密码处输入手机号码时,点击发送后,手机会收到一个六位数的验证码。只有输入正确的验证码,才能更改密码。因此,如果能在验证码端点上尝试100万个验证码,我们就能更改任何帐户的密码。当然,Instagram对验证码存在一定的验证速度限制,为了了解其内部机制,我决定对验证码进行暴力测试。

最终,我发现大约每1000个请求中有250个能正常请求通过,其余750个请求是速率限制的。接着我又尝试发送了1000个请求,发现更多的请求被限制,看来这个限速机制运行得很好。

但我还是发现了两个可以利用的点,一个是发送了这么多请求后,我的IP却始终没有被列入黑名单,另一个是在一定时间内连续发送请求并不会被阻拦。

经过几天的持续测试,我发现有两个方法可以绕过Instagram的速度限制机制。

1. Race Hazard

2. IP轮换

对于那些不了解Race Hazard的读者,可以点击这里了解。使用多个IP并发发送请求可以让我在一定时间内不受限制地发送大量请求。我们可以发送的请求数量取决于请求的并发和我们所使用的IP的数量。此外,我意识到手机验证码会在10分钟后过期,这样会使攻击变得更加困难。因此我们需要数千个IP来执行攻击。

我向Facebook安全团队报告了这个漏洞,但是由于我的报告中缺少某些必要的信息,他们一开始并没有引起足够的重视。在发送了几封说明邮件和PoC视频之后,他们成功地相信这样的攻击是可行的。

Proof of concept:

请求验证码:

上述请求发出后,受害者会收到一个验证码,10分钟后过期。

验证6位验证码:

现在我们需要使用多个IP来进行强制破解。简单来说,每个IP大概负责发送200个请求而不会达到速率限制。

在测试中,我使用了1000台不同的机器(轻松实现并发)和IP发送了20万个请求(占总概率100万的20%)。

演示视频链接:https://youtu.be/4O9FjTMlHUM

在真实的攻击情景中,为了尝试100万个验证码,攻击者大概需要5000个IP来破解账户。这听起来是个很庞大的数字,但如果你使用亚马逊或谷歌的云服务,那么这就会变得很简单。这大概只需要花费150美元。

Facebook安全团队在收到上述视频后,确认了漏洞的存在。他们也迅速地解决了这个问题。

发布补丁

最后,感谢Facebook安全团队给我的漏洞奖励!

来源:https://thezerohack.com/hack-any-instagram#articlescroll

用户评论
Rainbow 然而并没有看懂…… 0

网站友情链接: 微信号购买平台 微信号出售 买微信号 刷票 微信刷票 微信投票 快手刷粉丝 微信号出售 微信号批发 微信号购买 王者荣耀代练 苹果超级签名 ios超级签名 超级签名 刷票 王者荣耀代练 ios企业签名