OTP绕过——印度最大的视频分享网站

   翻译文章,原文:OTP Bypass on India’s Biggest Video Sharing Site.[1]

通过我们的组织,我们已经在一些私人项目上工作了几个月。因此,我决定稍事休息,并在公共平台上寻找bug来提高我的技能。

后来,我找到了一个社交媒体网站,该网站允许用户共享类似于TikTok的视频,它拥有超过5000万活跃用户,因此我决定不向公众公开。

深入探讨

我通过收集有关目标网站的一些信息来发起攻击,把该网站命名为example.com, 我注册一个账户为了找控制面板,但我没有找到,所以在这就停止了,我还是喜欢寻找XSS。

等一下, 让我们尝试一下登录页面。


OTP绕过——印度最大的视频分享网站

Login Page (Modified for Security Reasons !)

登录页面上有使用电话号码登录的方法,这使我可以输入手机号码并输入收到的4位数OTP。我决定使用BurpSuite的intruder来暴力破解OTP。


OTP绕过——印度最大的视频分享网站

Request sent to Vulnerable Site with Incorrect OTP

我重复请求,10次之后就被阻止了。


OTP绕过——印度最大的视频分享网站

Intruder Attack used for OTP bruteforce


我决定不放弃OTP绕过,让我再试一次,我去创建帐户,再次尝试暴力枚举OTP,但仍然失败。


OTP绕过——印度最大的视频分享网站

图1


因此,我用新的手机号码创建一个用户,并输入了我收到的正确的OTP。通过使用Do Intercept响应,我开始分析响应,令我惊讶的是,响应非常简单,如下所示。


OTP绕过——印度最大的视频分享网站

Response for Valid OTP

<code>{“

data

”:{“det”:{},”blocks”:[]},”gsc”:”

700

"}

/<code>

坦率地说,我不知道这是什么意思。但是我发现如果用户输入有效的OTP,此代码段将用于获取用户详细信息。

现在,我决定使用无效的OTP分析响应。


OTP绕过——印度最大的视频分享网站

Response for Invalid OTP

<code>

{“gsc”:”615",”message”:”Invalid verification code”}

/<code>

现在,我发现这是用于验证OTP的唯一代码段。为了使这项工作,我需要证明这确实有效。因此,我决定使用朋友的手机号进行注册,并输入了错误的OTP,我所做的就是删除无效的验证代码段,并通过截取响应将其替换为有效的代码段。(注:把无效的返回结果替换为有效的结果)


OTP绕过——印度最大的视频分享网站

PoC


即使没有有效的OTP,我也可以使用朋友的手机号码创建帐户,这清楚地表明,我无需验证OTP就可以使用任何手机号码创建帐户。

总结

研究人员总是破解OTP字段,但他们忘记分析发送到浏览器的响应。

备注

这篇文章很简单,这种情况的网站在赏金平台其实真不多见,说白了就是没有在服务器端二次确认OTP和对应的手机号码而造成的。

References

[1] OTP Bypass on India’s Biggest Video Sharing Site.: https://medium.com/@sriram_offcl/otp-bypass-on-indias-biggest-video-sharing-site-e94587c1aa89


分享到:


相關文章: