渗透系列之短信轰炸空格绕过
学习思路点:
短信轰炸绕过小技巧
一:填充空格绕过
在一次测试短信验证码发送过程中,发现可通过在手机号码后面填充空格进行绕过限制。
- 正常发送验证码,多次发送几次返回包提示“请在60秒后重新获取验证码”。
- 现在我们将我们的请求包文放到burpsuite中的Intruder进行批量递增填充空格进行请求,可直接绕过时间限制。
二:漏洞产生原因
服务端在发送手机验证码时分成了两个步骤:第一步服务端在收到手机号码时进行了手机号的唯一性检测(用于判断60s内是否有重复发送),然而此时没有对手机号过滤一些特殊字符,导致添加了空格符号的字符串被当成一个新的手机号;第二步在发送验证码时,却把手机号进行了一些特殊字符过滤,导致最终发送的目标都是同一个手机号。
三:修复建议
不建议单单使用过滤的方式来修复(很容易被绕过),应该将判断与发送逻辑合成一个。比如:当服务端收到手机号码时可以进行判断,若传入的手机号码中存在除数字以外的字符,则返回错误;或者过滤特殊字符串后,对过滤后的目标进行唯一性检查,并进行短信验证码发送。