一、短信轰炸
这类漏洞存在的原因是没有对短信验证码的发送时间、用户及其IP作一些限制。
案例1、正常的短信轰炸
burp一直发包即可
案例2、并发绕过
做了限制咋办?可以试试并发(万物皆可并发)
使用turbo intruder插件进行并发。
并发次数越大是不是轰炸就越多
案例3、删除cookie绕过
可以尝试把cookie删掉,有些开发就可能根据cookie判断验证码是否获取过
案例4、特殊格式绕过
手机号码前后加空格,86,086,0086, 86,0,00,/r,/n, 以及特殊符号等
修改cookie,变量,返回
138888888889 12位经过短信网关取前11位,导致短信轰炸
进行能解析的编码。
二、暴力破解(任意用户登录注册)
服务端未对验证时间、次数作出限制,存在爆破的可能性。简单的系统存在可以直接爆破的可能性,但做过一些防护的系统还得进行一些绕过才能进行爆破。
burpsuite对纯数字验证码爆破时间估计:
对于4位纯数字验证码:从0000~9999的10000种可能用多线程在5分钟内跑完并不是很难。
对于6位纯数字验证码:六位数的验证码1000000位,单从爆破时间上来看就比4位数的多100倍。
三、验证码回显
验证码在返回包,观察包即可
四、验证码绕过
用户绑定了手机号,正常来说是获取绑定手机号的短信,通过burp修改成其他手机号
把这个手机号改成其他手机号的
点击提交,抓包改成其他刚刚接收短信的手机号
五、验证码转发
加个逗号后面接上需要转发的手机号,因为开发可能使用数组就导致同时把验证码发给两个手机号