一次非常普通的短信轰炸 AND【TangGo】第三方API调用验证码识别
抓包首先访问到漏洞所在页面

查看历史流量

注意,在响应包中出现了参数
"id":"*****",
"image":****
输入手机号和图形验证码在获取验证码后再查看请求体

这里含有图形验证码的ID和orgNumber
开始使用识别验证码插件识别
# 验证码插件识别下载地址
https://github.com/c0ny1/captcha-killer/releases/tag/0.1.2

将验证码请求包发送到验证码识别插件中
进行发送,报错了,缺少关键字,关键字就是img内容的字段

获取成功后,导入ddddocr模版

然后开启识别脚本

可以看到识别度是100%

进行短信轰炸还需要提取验证码ID
作者不清楚burp这个步骤哪里操作,求原谅
有知道的佬可以联系我,我向你取经
这里使用TangGO 测试工具来进行提取图形验证码的ID以及img内容来爆破
# 工具下载地址
https://tanggo.nosugar.tech/#/
打开 TangGO 测试工具,找到 HTTP模糊测试工具:

打开后进入到自定义流程中,新建


丢入图形验证码请求包后,把完整的响应体返回给get_yzm变量完成配置后,点击测试

可以成功获取到图形验证码响应体,再增加一条流程来提取响应体的ID和image内容

将响应体发送到正则表达式生成器中

选取ID值,后点击正则表达式,进行测试后提取ID值成功,复制正则表达式后,新建流程数据处理流程

操作变量就是刚才获取响应体的绑定变量,然后对处理规则新建

添加成功后,再返回到正则提取器中选取image内容

这默认是20,修改成5即可,拿到正则表达式后,再增加数据处理流程

目前是三条流程

需要把image内容去识别出验证码,那么就需要获取识别验证码的API请求
打开Wireshark,由于API是本地开启的,就选择回环流量

然后输入HTTP进行筛选出HTTP请求,然后在burp验证码识别插件中进行识别,来获取API接口的请求


查看它的HTTP流(ctrl+alt+shift+H)

观察API请求,请求体就是图片的base64编码
POST /reg HTTP/1.1
Authorization: Basic f0ngauth
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:97.0) Gecko/20100101 Firefox/97.0
Connection: keep-alive
Host: 127.0.0.1:8888
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Length: 3484
Content-Type: application/x-www-form-urlencoded
图片base64编码
再新建流程对api请求获取识别后的验证码,丢入API请求后,在请求头中插入提取的image内容绑定的变量

这个就是完整流程
获取到图形验证码响应体->提取ID && 提取inage->api接口识别验证码

然后对获取验证码请求插入对应变量

然后进入测试过程进行测试配置

点击开始测试后轰炸

可以看到响应中短信验证码发送成功
查看测试流程和最终请求体


查看手机短信结果


其实这里的短信验证码也有问题的,由于没有限制的直接发送短信验证码,且短信验证码是4位数更是20分钟有效,在爆破短信验证码后,既可注册成功获取到账户token值,达到任意用户注册这里我就没有多写了

修复建议:
1、限制验证码的有效时效,通常设置在30秒至50秒之间失效。
2、限制同IP在短时间内频繁请求验证码。
3、对图片验证码,增加噪点渲染,防止被光学字符识别(OCR)识别。
4、短信验证码输入错误,立即刷新图形验证码,每一次获取短信验证码时进行图形验证码校验,设置短信验证码错误次数上限需要重新获取新的短信验证码,以防止对短信验证码的暴力破解攻击。
文章转自微信公众号@Kei sec
最新文章
- Meta×Google 云计算协议:2025 多云/混合云 API 极速落地 AI 出海成本降 40%
- 【2025】AI 占星报告批量生成器|基于 Astro-Seek API 微调 7B 模型,一键输出每日/每周运势
- 5种最佳API认证方法,显著提升…
- API接口重试的8种方法
- AI 推理(Reasoning AI)优势:超越生成模型的架构、算法与实践指南
- 如何使用 DeepSeek 构建 AI Agent:终极指南
- AI 智能体 ReAct 架构设计模式剖析
- 深入解析谷歌翻译API:基于Gemini的规模化高质量翻译与创新应用
- 2025年小本生意新风口:如何借助 AI 实现低成本高效率创业?
- 使用 python 和 flask 构建 restful api
- rpa vs. api:差异与应用场景
- 微服务 API 安全实战:防护策略与漏洞修复