电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2232 人浏览分享

通过重置密码绕过OTP

[复制链接]
2232 0
前言:

一次性密码(One Time Password,简称OTP)又称“一次性口令”是指只能使用一次的密码一次性密码是根据专
门算法每隔60秒生成一个不可预测的随机数字组合,iKEY一次性密码已在金融、电信、网游等领
域被广泛应用,有效地保护了用户的安全。

一个很常见的例子就是我们登陆微信 微博等app时 除了账号密码登陆以外还有一种方式是手机
短信验证码登陆,使用的就是OTP技术

原理:

动态密码的产生方式 主要是以时间差做为服务器与密码产生器的同步条件在需要登录的时候就利用密码产生器产生动态密码。
OTP一般分为计次使用以及计时使用两种。计次使用的OTP产出后,可在不限时间内使用;计时使用的OTP则可设置密码有效
时间,从30秒到两分钟不等,而OTP在进行认证之后即废弃不用,下次认证必须使用新的密码
增加了试图不经授权访问有限制资源的难度。

正文:

为保护隐私 我把目标命名为:target.com。此漏洞是由于通过API重置密码方法的错误应用
导致响应中用户的实时token发生泄漏。
前期对目标进行侦察扫描时,我意识到该站点的所有功能无一例外都与一个API直接相关 并且该目标是其API的接口 因此从
扫描bug开始是没错的。另外,当我在查看帐户设置时,我通过电话号码找到一个OTP选项,因此我将其打开并注销登陆。

再次登录后,我决定看一下绕过的速率限制以及与OTP相关的其他bug 但是很不幸
API本身有一个速率限制功能 根本绕不过。

080615jpdpc0w2wd6iw2yh.png

限速机制的响应

我还尝试了是否可以通过电子邮件地址重置密码来绕过OTP 但是该app会要求我使用新密码再次登录
并插入通过短信发送的6位OTP验证码,因此这种方式也无法绕过。
没得办法,只能乖乖查看每个请求及其响应。我打开了拦截软件,开始通过检查重置密码按钮的响应开始这真的比数山
羊还要无聊,我打开了我的帐户电子邮件,查看重置密码链接,链接中的token非常复杂,根本无法暴力破解。

我打开了链接,输入新密码,然后按了“更改密码”按钮,接着查看响应。可以确认的是 通过重置密码API的方法 为我的
帐户设置了一个新的实时token并在响应中泄漏了该token。通过这个泄露的新鲜无比的实时token,我可以通过API使用
帐户中的所有方法,而无需登录应用界面。

98.png

令牌泄漏响应

但是我选择了一种无需登录即可停止OTP机制的方法,并且在查看了帐户设置之后 我能够找到那个停止OTP机制的API
请求因此我在repeater中输入了该请求,并且我能够通过API实时token来停止OTP,然后轻而易举登录应用程序。

8.png

禁用OTP API请求

总结:

我可以通过通过电子邮件地址重置密码来绕过OTP 我们应该考虑到我能够通过API实时token使用帐户中的每种方法
从而导致重置密码方法响应中出现泄漏。但是我更喜欢找到一个方法来停止OTP,然后通过禁用OTP API请求将其停
止并且无需插入OTP代码就可以开设我的帐户。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.