src漏洞挖掘--验证码篇

图片验证码

验证码前端检测

验证码由客户端JS生成并且仅仅在客户端用JS验证,通过抓包看数据传输是否有验证码字段或者是关闭JS看能否通过验证。
测试方法:当我们开始抓包,输入任意验证码,页面提示验证码错误,且没有抓到数据包,则说明此时的验证码是通过前端效验的

  1. 演示案例— 输入错误验证码客户端立即提示错误并且未传输数据包。
    在这里插入图片描述
  2. 输入正确验证码后,成功进行了数据交互,尝试在数据包中删除验证码
    在这里插入图片描述
  3. 可见验证码并未带入数据请求过程中,只存在与前端进行校验
    在这里插入图片描述

验证码复用

使用的验证码没有进行销毁处理,可以重复使用。
测试方法:重放多次同一个带有验证码的数据包,如果两次响应提示都是账号或密码这样的错误,则说明漏洞存在,若第二次重放的数据提示验证码错误,则说明该漏洞不存在。

1.输入正确验证码进行请求,可见请求成功。
在这里插入图片描述

  1. 在数据包中更改用户信息,使用原验证码,仍可进行登录请求。
    在这里插入图片描述

验证码DOS

漏洞原理:图形验证码的生成大多都基于复杂的图像生成算法,本来就很消耗CPU,GPU性能,此时攻击者再把尺寸增大,就会成倍消耗性能,如果大到一定程度再结合高并发,服务器很有可能瞬间崩溃,也就造成了DOS攻击
修改数据包验证码的长宽,如果响应字节变大则存在该漏洞

例如:http://127.0.0.1/pikachu/inc/showvcode.php?1722243693720?width=11111&height=11111
可关注图片验证码是否大小发送变化,网站请求延迟是否变高来判断
在这里插入图片描述

验证码为空或万能验证码

在程序设计时为了方便测试,设置了空验证码或万能验证码

mobile=18888888888&code=
mobile=18888888888&code=null
mobile=18888888888&code=0000
mobile=18888888888&code=8888

验证码可爆破

对于验证码位数4-6为并且没有次数限制和时间限制,我们均可进行验证码的爆破

  1. 获取验证码为4位验证码,且有效期为30分钟,可进行爆破
    在这里插入图片描述
  2. 添加payload后,设置验证码位数,开始爆破。
    在这里插入图片描述
  3. 4位验证码几分钟即可爆破成功。加粗样式

验证码返回包回显

在获取验证码时,验证码会显示在返回包中或在请求中携带。
可任意进行注册账户,或找回密码。

在这里插入图片描述

修改返回包

拦截响应包后,可将响应中的关键值,如 302、403改为200,将false改为true,将-1,1改为0等操作进行尝试。

在这里插入图片描述

短信轰炸

在短时间内对同一手机号验证码发送次数没有限制,导致可大量发送验证码到同一账户,造成用户骚扰与资源浪费。
通常可以在手机号处增加特殊符号来绕过,如+、86、0086、+86、英文逗号、&、@、等等。
或在手机号处设置多手机号,致使同时给多手机发送验证码。

邮箱大小写

在邮箱验证时,有时会提示验证频繁,导致邮箱不可用,可以采取大小写组合来发送,如123@qQ.com 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值