一、前言
在Web安全渗透测试中,短信验证码接口滥用(短信轰炸漏洞) 是常见高危漏洞之一。不法人员可利用无频次限制、无验证码校验的短信接口,批量对目标手机号发送垃圾验证码短信,造成受害者手机被恶意骚扰、运营商资源损耗等风险。
本文基于Kali Linux和BurpSuite社区版,实战讲解 SMS_Bomb_Fuzzer 插件的安装、配置、短信接口Fuzz测试全流程,从原理到实操拆解短信轰炸漏洞挖掘思路,内容适配渗透测试从业者、安全学习爱好者,合规仅用于授权测试。
重要法律提醒:短信轰炸属于违法行为,本文所有操作仅限自己拥有域名/服务器的授权测试环境,严禁用于骚扰他人手机号,违者承担《治安管理处罚法》《网络安全法》相关法律责任。
二、环境准备
1. 基础环境
- 操作系统:Kali Linux 2025.4(VMware虚拟机部署)
- 抓包工具:Burp Suite Community Edition 2025.10.6(社区免费版)
- 测试插件:SMS_Bomb_Fuzzer V3.1(开源Burp插件,作者笠子,开源地址文末附上)
2. 插件项目介绍
SMS_Bomb_Fuzzer是一款面向BurpSuite的短信接口自动化Fuzz插件,专门针对注册/找回密码类短信下发接口做批量遍历测试,核心能力:
1. 自动遍历手机号变量位置,批量替换Payload手机号;
2. 支持白名单域名配置,避免误扫合规站点;
3. 区分单接口测试、多接口组合批量测试两种模式;
4. 可视化返回包长度、响应码、耗时,快速判断接口是否存在短信轰炸漏洞。
三、插件安装步骤
步骤1:源码获取
开源项目地址:https://github.com/yuziiii/SMS_Bomb_Fuzzer,可Git Clone下载源码或在Releases下载Jar包。
git clone https://github.com/yuziiii/SMS_Bomb_Fuzzer.git步骤2:Burp加载插件
1. 打开Burp→Extensions→Add;
2. 选择下载好的插件Jar文件,加载成功后顶部菜单栏出现SMS Bomb Fuzzer标签页;
3. 加载完成后自动生成功能按钮:清空列表、填写白名单域名、启动白名单、测试短信接口、组合测试。
四、实战漏洞测试
目标URL:https://m.mgqr.com:443/ajax/getcode.ashx?phone=158xxxxxxxx&action=reg&t=1778530686089,为典型注册短信下发接口,下面分步复现测试逻辑:
1.抓包获取原始请求包
1. 浏览器配置Burp代理,访问站点注册页,输入任意手机号点击获取验证码;
2. Burp拦截请求,切换到Repeater模块,复制完整GET请求报文:
GET /ajax/getcode.ashx?phone=15838186712&action=reg6t=1778530686089 HTTP/2 Host: m.mgqr.com Cookie: pageinfo=FD60929444FA80E72E59E52BD00C5B2FFB3FD89E0CED65037DA95289B65CC61A2D059A4F20EC1AD;ASP.NET_SessionId=ei5sdb1q2smr4xmbd2pd0a12 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0 ...关键参数: phone 为手机号可控参数,是短信下发接收号码。
2. 导入插件开始Fuzz测试
1. 将Raw请求粘贴到SMS Bomb Fuzzer的Request输入框;
2. 标记变量位:选中 phone= 后的手机号值,插件自动识别 phone_multi 为待遍历参数;
3. 两种测试模式:
- 单接口测试:点击测试短信接口,插件自动批量替换不同手机号Payload循环发包;
- 组合测试:收集站点多个短信接口(注册、找回密码、换绑手机),批量导入多URL做组合轰炸测试。
3. 结果数据分析
插件自动汇总每次请求数据:Payload(测试手机号)、响应长度、耗时ms、响应码,漏洞判定规则:
1.正常无漏洞接口:频繁请求后返回403/500、响应长度突变、接口限制频次;
2.高危短信轰炸漏洞:多次替换不同手机号发包,接口持续返回200、响应长度稳定无拦截,代表无防刷限制,可无限下发短信。
大量Payload返回码200、响应长度稳定306/5595等,说明该目标接口存在短信轰炸漏洞。
五、漏洞成因与防御方案
1. 漏洞产生原因
1. 无请求频次限制:后端未做IP、手机号维度的1分钟/1天短信发送次数阈值限制;
2. 缺少人机校验:获取短信前无图形验证码、滑块验证码校验,攻击者可直接调用接口;
3. 参数可控无过滤:phone参数前端传入直接拼接进短信下发逻辑,无后端白名单/黑名单校验;
4. 未接入短信风控:运营商短信通道无高频发送拦截策略。
2. 后端安全修复方案
1. 频次限流:Redis实现限流,同一个手机号1分钟≤3条、单日≤10条;同一IP单日请求≤20次;
2. 前置人机验证:获取验证码按钮点击后先过滑块/图形验证码,校验通过才放行短信接口;
3. 参数合法性校验:后端正则严格校验手机号格式,拦截异常批量遍历特征;
4. 通道风控:对接短信服务商风控接口,高频批量号码直接拦截下发。
六、插件拓展使用技巧
1.白名单功能:填入 baidu.com等域名,开启白名单后插件自动跳过白名单站点,避免误测合规网站;
2.批量URL导入:爬取站点全站接口后,批量导入多个短信接口URL一键组合Fuzz;
3.Payload自定义:可自定义本地手机号字典,替换插件内置号码库,定向测试目标号码段。
七、法律与安全合规重申
1. 刑事/行政风险:未经授权批量轰炸第三方手机号,违反《治安管理处罚法》第四十二条(骚扰他人),情节严重触犯《刑法》破坏通信管理相关条例;
2. 使用边界:仅可在自有服务器、已签订渗透授权合同的企业站点进行安全测试,所有非授权测试一律禁止。
八、附录
1. 项目开源地址:https://github.com/yuziiii/SMS_Bomb_Fuzzer
2. 适用场景:等保测评、企业内部渗透测试、Web安全学习演练
文章标签:
#BurpSuite #Web安全 #渗透测试 #短信漏洞 #网络安全