学习关于验证码逻辑漏洞这些事

admin 2024年12月17日20:22:56评论12 views字数 712阅读2分22秒阅读模式
0x00 文章背景

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

学习关于验证码逻辑漏洞这些事
0x01 更改响应码

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

学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事
学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事
学习关于验证码逻辑漏洞这些事
0x02 响应返回

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

学习关于验证码逻辑漏洞这些事
学习关于验证码逻辑漏洞这些事
0x03 多手机号

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

18899008899,1998800997718899008899|19988009977
学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事
0x04 寻找接口

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

学习关于验证码逻辑漏洞这些事
学习关于验证码逻辑漏洞这些事

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

学习关于验证码逻辑漏洞这些事
 

 

原文始发于微信公众号(Jie安全):太棒辣 | 感谢大哥带我学习关于验证码逻辑漏洞这些事

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月17日20:22:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   学习关于验证码逻辑漏洞这些事http://cn-sec.com/archives/3499771.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息