问题剖析:常见于APP等客户端软件,通过拦截替换返回信息,绕过客户端本地验证。
0X03 短信轰炸
短信轰炸是手机验证码漏洞中最常见的一种漏洞类型。
在测试的过程中,对短信验证码接口进行重放,导致大量发送恶意短信。
案例一:无限制,任意下发
案例二:有一定时间间隔,无限下发
每隔60秒可下发一条短信,无限下发,短信轰炸。在测试过程中,可通过编写Python脚本来计算短信下发时间间隔,实现短信轰炸。
#coding=utf-8import jsonimport requestsimport timestart_time = time.time()count =input("Please input counts:")phone =raw_input("Please inut your phone:")i=0while (i0X04 验证码爆破
短信验证码一般由4位或6位数字组成,若服务端未对验证时间、次数进行限制,则存在被爆破的可能。
输入手机号获取验证码,输入任意短信验证码,发起请求,抓包,将短信验证码字段设置成payloads取值范围为000000-999999进行暴力破解,根据返回响应包长度判断是否爆破成功。
0X05 验证码与手机号未绑定
一般来说短信验证码仅能使用一次,验证码和手机号未绑定,验证码一段时期内有效,那么就可能出现如下情况:
1、A手机的验证码,B可以拿来用
2、A手机在一定时间间隔内接到两个验证码,都可以用。
案例一:任意用户密码重置
1.使用自己手机号收取验证码
2.自己的验证码和对方的手机号填上,下一步城管设置新密码
解决方案:
1.在服务器进行有效验证,手机号和验证码在服务器进行唯一性绑定验证。
2.在服务端限制验证码发送周期,设置时效,限制次数。
閱讀更多 信息安全搬運工 的文章