自建ocr接口动态识别验证码 配bp进行验证码加密码爆破

一. 声明:本文仅限学习研究讨论,切忌做非法乱纪之事!

一、插件简介
captcha-killer要解决的问题是让burp能用上各种验证码识别技术!

注意:

插件目前针对的图片型验证码,其他类型目前不支持。
captcha-killer本身无法识别验证码,它专注于对各种验证码识别接口的调用
二、下载地址:
burp2020前使用:

https://github.com/c0ny1/captcha-killer/tree/0.1.2
burp2020后的版本使用:

https://github.com/Ta0ing/captcha-killer-java8
1.下载插件并加载

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第1张图片

下载DDDDdocr API 服务器{kali环境下有docker环境}

地址:https://github.com/sml2h3/ocr_api_server.git

git clone https://github.com/sml2h3/ocr_api_server.git
cd ocr_api_server
# 修改entrypoint.sh中的参数,具体参数往上翻,默认9898端口,同时开启ocr模块以及目标检测模块
# 编译镜像
docker build -t ocr_server:v1 .
# 运行镜像
docker run -p 9898:9898 -d ocr_server:v1

部署好之后,docker ps -a看看

映射到9898端口了,接下来验证连通性

curl -v http://ip:9898/ping

返回pong,表示成功

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第2张图片

访问验证码的链接地址,抓验证码的请求包,并发送到插件

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第3张图片

然后到切换到captcha-killer插件面板,点击获取即可拿到要识别的验证码图片内容(下方验证码url栏处,直接点击获取验证码也行,无需复制验证码url,再点击获取)

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第4张图片

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

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

接口地址:http://api.ttshitu.com:80

请求包,username,password处去http://ttshitu.com注册账号,该平台识别500次一元钱:

POST /predict HTTP/1.1
Host: api.ttshitu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/json;charset=UTF-8
Content-Length: 1443

{"username":"****","password":"****","typeid":"3","image":"<@BASE64><@IMG_RAW>"}

(我们的上面的代码可以直接粘贴使用)
注意:有一种情况,作者没有粘贴代码,而是把代码放到写作框里,所以代码header与body中间的空行,里面有个空格一定要删掉。(CSDN的原因空行自带一个空格)

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第5张图片

但是开头我们自己搭建了一个ocr接口可以直接免费使用,

以下是成功图

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第6张图片

 这个是我们的请求包

  • POST /ocr/b64/json HTTP/1.1
    Host: ip:port
    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>

匹配识别结果

通过判断我们知道,接口返回的json数据中,字段result的值为识别结果。我们这里使用Regular expression(正则表达式)来匹配,然后选择YX7L右键标记为识别结果,系统会自动生成正则表达式规则t"\:(.*?)","

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第7张图片

 到达这步建议将配置好常用接口的url,数据包已经匹配规则保存为模版,方便下次直接通过右键模板库中快速设置。

这时抓包登录界面的请求包,

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第8张图片

 然后发送到攻击器

 设置Intruder的爆破模式和payload位置

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第9张图片

 验证码payload选择通过插件来生成

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第10张图片

设置线程

 多线程会导致大量验证码错误,验证码还没识别完成,已经被另一个线程刷新改变了自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第11张图片

开始爆破

自建ocr接口动态识别验证码 配bp进行验证码加密码爆破_第12张图片

 备注: 1.本来想爆破pikachu的  但是pikachu的验证码不好识别(10个里面能错4个,不管是收费还是免费的ocr接口)

             2.爆破图形验证码,得看看验证码好不好识别,然后再去爆破。(基本四位数,看着清楚的,随便爆破就完了)

             

你可能感兴趣的:(python)