太棒辣 | 感谢大哥带我学习关于验证码逻辑漏洞这些事

太棒辣 | 感谢大哥带我学习关于验证码逻辑漏洞这些事

原创 犀利猪 犀利猪安全 2024-12-09 07:14

0x00 文章背景

好久没发了,最近在坐lao,坐的差不多了,发一篇文章证明一下还活着没去世。此文,让我们来简单了解一些关于短信验证码逻辑漏洞常见的一些手法。

0x01 更改响应码

如下图是几年前测的一个系统,目标系统中的登录、注册、重置密码均需要接收短信验证码进行操作:

随便输入验证码内容,然后拦截响应包,此时发现在响应包中存在有
状态码:50015

此时的状态码代表的是错误,接下来,我们接受并填写正确的验证码:

同样拦截响应,
会发现状态码为:0

那么很可能,在状态码为0的时候,代表的是正确,如果没有其他校验操作的话,我们直接拦截响应包,更改状态码即可绕过验证:

如上,输入错误的验证码,拦截响应,
更改状态码为:0

成功绕过校验,可进行注册、登录、重置密码等操作。至于手机号,可以通过收集或者生成某地区号码的方式,进行爆破枚举:

0x02 响应返回

还有一种情况,无需更改响应码,通过查看数据包,发送给目标手机的验证码,有可能直接包含在响应包内容或响应包头部中:

0x03 多手机号

抓取验证码请求包,通过在中间插入逗号或者|来分割,后面再拼接一个手机号:

18899008899,19988009977
18899008899|19988009977

如果漏洞存在,在我们发送验证码后,两个手机号会收到同样的短信码,直接进行利用即可:

0x04 寻找接口

还有一种情况,我们可以在网页或者JS中查找接口,通过获取接口进行密码重置,此时便没有需要手机验证码这个环节:

通过网页获取重置接口,直接通过更改手机号重置对应账户密码:

(

END

)

!扫码添加哦!

联系进群即可,群内可交流技术

免责声明

文章
内容仅限授权测试或学习使用

请勿进行非法的测试或攻击****

利用本账号所发文章进行直接或间接的非法行为均由操作者本人负全责犀利猪安全及文章对应作者

不为此承担任何责任

文章来自互联网或原创

如有侵权可联系我方进行删除

并诚挚的跟您说声抱歉