验证码识别插件对登录页面进行爆破

语言: CN / TW / HK

0x01插件下载

项目地址:

https://github.com/c0ny1/captcha-killer

https://github.com/f0ng/captcha-killer-modified

安装burp插件:

0x02验证码识别平台使用

https://github.com/sml2h3/ddddocr 安装命令

pip install ddddocr

以上命令将自动安装符合自己电脑环境的最新ddddocr

0x03验证码接口搭建

# 安装依赖
pip install -r requirements.txt -i https://pypi.douban.com/simple

# 运行  可选参数如下
# --port 9898 指定端口,默认为9898
# --ocr 开启ocr模块 默认开启
# --old 只有ocr模块开启的情况下生效 默认不开启
# --det 开启目标检测模式

# 最简单运行方式,只开启ocr模块并以新模型计算
python3 ocr_server.py --port 9898 --ocr

# 开启ocr模块并使用旧模型计算
python3 ocr_server.py --port 9898 --ocr --old

# 只开启目标检测模块
python3 ocr_server.py --port 9898  --det

# 同时开启ocr模块以及目标检测模块
python3 ocr_server.py --port 9898 --ocr --det

# 同时开启ocr模块并使用旧模型计算以及目标检测模块
python3 ocr_server.py --port 9898 --ocr --old --det

使用一下命令开启服务

python3 ocr_server.py --port 9898 --ocr

0x04配置验证码地址

使用带验证码页面进行测试

注意:获取验证码的cookie一定要和intruder发送的cookie相同!

0x05配置识别接口的地址和请求包

启动ocr_api_server项目API

python3 ocr_server.py --port 9898 --ocr
POST /ocr/b64/json HTTP/1.1
Host: 127.0.0.1:9898
User-Agent: python-requests/2.24.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Length: 2540

<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>

模版被渲染为最终的请求

0x06设置用于匹配识别结果的规则

设置匹配方式和自动生成规则 注意:若右键标记自动生成的规则匹配不精确,可以人工进行微调。比如该例子中可以微调规则为"words": "(.*?)"}将更加准确!到达这步建议将配置好常用接口的url,数据包已经匹配规则保存为模版,方便下次直接通过右键模板库中快速设置。同时插件也有默认的模版供大家使用与修改。

0x07在Intruder模块调用

设置Intruder的爆破模式和payl

点击开始进行爆破

进行爆破,可以通过对比识别结果看出识别率

参考文章

https://gv7.me/articles/2019/burp-captcha-killer-usage/

https://mp.weixin.qq.com/s/_P6OlL1xQaYSY1bvZJL4Uw

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。