一次非常普通的短信轰炸 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
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 跨链桥节点混合云 API:5 天扩容方案
- 绕过API,直接部署数据库 – Fly.io
- B站微服务API管理
- API与端点:差异化细分
- 使用 Clerk 与 Express 实现 API 请求身份验证的完整指南
- 翼支付是什么?如何让支付更智能
- API性能:响应时间 vs 吞吐量,哪个更重要?
- 1inch与Blockaid合作完成Shield API开发 – 博客
- 通过 Python 使用 AI真实头发生长 API 实现个性化发型设计
- 金融科技API:揭秘金融领域快速增长的秘密
- DEX 撮合引擎多云灰度发布 API:6 天实战经验
- Spring Boot + GraphQL API 实战:使用 React 和 Auth0 构建安全数据平台