缘由
近期看到一个更新比较勤快的bp插件,是用来识别验证码的,比较好用,所以来做一下分享。
项目地址:
captcha-killer-modified
项目介绍
- 该项目是captcha-killer的二开项目,原作者已经很久不更新了。项目分为两个部分,一个是bp插件部分,一个是简单的本地验证码的web服务部分。
-
其中jar文件是验证码在burp中的图形界面,zip中有一个codereg.py是服务文件,用于搭建验证码服务。
使用配置
插件配置
-
在burp中安装插件
-
从目标站点中找到验证码的请求接口
-
将该接口传递给插件
-
在burp界面中点插件标题即可看到具体的验证码获取结果
-
填入验证码api接口连接和所需要的请求模版数据包(模版语法),该接口可以是自建的本地服务,也可以是其他人的验证码识别接口,然后响应包中具体的提取方式也可以自行选择进行配置,很强大。
-
点击接口连接旁边的识别,即可在旁边看到识别结果
验证码服务配置
-
验证码服务基于
ddddocr
的python库,web服务基于aiohttp
,安装库的命令如下:
py -3 -m install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com ddddocr aiohttp
PS:更新pip命令如下
py -3 -m pip install --upgrade pip
-
直接用python3运行,即可在本地开启一个验证码识别的web接口。
py -3 codereg.py
api接口识别图片的数据包模版为:
POST /reg HTTP/1.1
Host: 127.0.0.1:8888
Authorization:Basic f0ngauth
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:97.0) Gecko/20100101 Firefox/97.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
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
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 8332
<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>
实战使用
-
将需要爆破的登录页面放入intruder模块,选择Pichfork模式
-
在验证码的payload位置处采取插件生成,并选择captcha-killer插件
-
点击开始爆破,即可在结果中看到具体发包和是否成功的结果,同时,根据响应包的长度可以判断出验证码是否识别成功。
需要关注的点
问题:
在安装模块后,使用时会报错
ImportError: DLL load failed while importing onnxruntime_pybind11_state: 找不到指定的模块
解决方案:
安装VC++ 2019,对应安装链接:
Microsoft Visual C++ Redistributable 2019x86 官方下载地址
Microsoft Visual C++ Redistributable 2019x64 官方下载地址
笔者自身环境:
Python 3.9.10
模块版本
ddddocr 1.4.3
onnxruntime 1.11.1