浅谈BurpSuite绕过验证码找回密码
字数 1340 2025-08-15 21:31:23
BurpSuite绕过验证码找回密码技术详解
1. 技术背景
在渗透测试过程中,找回密码功能是常见的测试点。对于简单的系统,仅需使用BurpSuite的Intruder模块对name和passwd字段进行爆破即可。但对于包含验证码的系统,传统方法难以奏效。本文介绍如何利用Burp插件captcha-killer绕过验证码机制实现密码找回。
2. 技术原理
通过BurpSuite抓取验证码请求,利用第三方验证码识别服务自动识别验证码内容,在爆破过程中动态获取并填充验证码,实现验证码绕过。
3. 准备工作
3.1 工具准备
- BurpSuite Professional
- captcha-killer插件(下载地址:https://github.com/c0ny1/captcha-killer/tags)
3.2 第三方验证码识别服务
推荐使用"图鉴"服务:
- 注册账号:http://www.ttshitu.com/register.html
- 充值至少1元(可识别500次验证码)
4. 详细操作步骤
4.1 插件安装
- 在BurpSuite中打开"Extender"选项卡
- 点击"Add"按钮
- 选择下载的captcha-killer.jar文件进行安装
4.2 获取验证码URL
- 在目标网站找回密码页面,右键点击验证码图片
- 选择"审查元素"或"检查"
- 在HTML代码中找到验证码图片的URL
4.3 配置captcha-killer
- 在BurpSuite中访问验证码URL并抓包
- 将验证码请求发送到captcha-killer插件
- 在插件界面点击"获取"按钮,确认能正常显示验证码图片
4.4 配置图鉴API
- 接口URL:
http://api.ttshitu.com:80 - 构造数据包:
POST /predict HTTP/1.1
Host: api.ttshitu.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Accept: application/json;
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/json;charset=UTF-8
Content-Length: 109
{
"username":"图鉴用户名",
"password":"密码",
"typeid":"3",
"image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"
}
- 在插件中填写上述API信息
- 点击"检测"按钮验证配置是否正确
4.5 标记识别结果
- 在插件界面选择验证码图片
- 右键点击并选择"标记为识别结果"
5. 实施爆破攻击
5.1 抓取登录数据包
- 在找回密码页面填写测试数据并提交
- 使用BurpSuite拦截请求
5.2 配置Intruder模块
- 将抓取的请求发送到Intruder模块
- 设置Attack Type为"Pitchfork"
- 配置Payload:
- Payload 1:密码字典
- Payload 2:选择captcha-killer插件
5.3 开始攻击
- 确认所有配置无误
- 点击"Start attack"开始爆破
- 观察返回结果,识别成功的尝试
6. 注意事项
- captcha-killer本身不具备验证码识别能力,仅作为调用第三方识别服务的桥梁
- 使用前请确保已获得合法授权,未经授权的测试可能涉及法律风险
- 验证码识别服务需要付费使用,建议先少量充值测试效果
- 不同网站的验证码类型可能不同,需要调整typeid参数
- 爆破过程中注意请求频率,避免触发防护机制
7. 防御建议
- 增加验证码复杂度(如滑块、点选等)
- 实施IP请求频率限制
- 验证码与session绑定
- 增加二次验证机制
- 监控异常登录尝试
8. 法律声明
本文所述技术仅限用于合法授权的安全测试与学习研究。任何未经授权的渗透测试行为均属违法,使用者需自行承担由此产生的法律责任。