破解验证码新利器:基于百度OCR与captcha-killer-modified插件的免费调用教程

引言

免责声明:
本文提供的信息仅供参考,不承担因操作产生的任何损失。读者需自行判断内容适用性,并遵守法律法规。作者不鼓励非法行为,保留内容修改权。

一、验证码处理的挑战与需求

随着互联网的快速发展,验证码(CAPTCHA)已经成为网站和应用用来区分人类用户与自动化程序的一种常见手段。然而,验证码的处理面临着诸多挑战和需求:

  1. 挑战
    • 识别难度:验证码设计越来越复杂,包括扭曲的文字、复杂的背景图案、颜色干扰等,使得自动识别难度增加。
    • 用户体验:验证码的难度增加虽然提高了安全性,但同时也可能降低用户的体验,如何在安全与便利之间找到平衡是一个挑战。
  2. 需求
    • 高准确性:验证码识别技术需要具备高准确性,以确保能够正确地完成用户身份验证。
    • 自动化处理:对于需要大量注册、登录等操作的场景,自动化的验证码识别能够显著提高效率。
    • 兼容性:验证码识别技术需要能够兼容各种类型的验证码,包括文字、数字、图像选择等。
    • 安全性:验证码识别技术在使用过程中需要保证用户数据的安全,防止信息泄露。

二、百度OCR简介

百度OCR(Optical Character Recognition,光学字符识别)是一项基于云计算的智能文字识别服务,它利用深度学习和图像处理技术,能够高效、准确地从图片中提取文字信息。

准备工作

安装captcha-killer-modified插件

下载地址

适用于旧版本bp:

c0ny1/captcha-killer: burp验证码识别接口调用插件

适用于新版本bp:

f0ng/captcha-killer-modified: captcha-killer的修改版,支持关键词识别base64编码的图片,添加免费ocr库,用于验证码爆破,适配新版Burpsuite

下载过程

点击 Releases 下的 0.24.6 最新版本

选择需要下载的版本,这里我选择的是适用于 jdk8

==建议将所有bp扩展放在一个位置保存好==

安装captcha-killer-modified扩展

打开 bp 点击 扩展 ,在Burp扩展中选择 添加

点击 选择文件 找到刚才保存的扩展,因为是jar包,所以扩展类型选择 java 其他两个选择 在UI中显示 点击右下角 确定

可以看到扩展已加载

注册百度云账号

百度智能云

有百度账号的直接登录,然后进行实名认证

申请免费接口

点开右上角 控制台

搜索 文字识别,并点击 立即使用

依次点击 公有云服务 -> 应用列表 -> 创建应用

按照需求选择接口,具体参考产品价格,应用归属选择 个人 ,HTTP SDK按需求选择,点击 立即创建

返回应用列表可以看到AK和SK

在BP中使用OCR和ck插件

点击右上角 文档 -> 示例代码

全部产品 -> 文字识别

鉴权认证机制 -> 获取AccessToken -> 立即前往

依次输入 AK 和 SK

点击确定,任选一种方式进行鉴权获取 AccessToken

这里我选择Curl,获取到access_token

打开bp的插件页面

在左下方的Request template中填入BaiduOCR模板(旧版插件中自带)

==模板中的url路径要根据实际路径去修改==

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
POST /rest/2.0/ocr/v1/accurate_basic?access_token=[TOKEN] HTTP/1.1
Host: aip.baidubce.com
Connection: close
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/x-www-form-urlencoded
Content-Length: 55

image=<@URLENCODE><@BASE64><@IMG_RAW></@IMG_RAW></@BASE64></@URLENCODE>

打开需要识别的验证码页面使用bp抓包,这里我使用pikachu靶场的验证码进行测试,

点击 获取 成功获取到验证码图片

接下来将请求模板中的参数替换为自己的 access_token

匹配方式选择正则表达式,规则为 "words":"(.*?)"

点击识别按钮,可以观察到识别率很高!

接下来就可以使用其他模块与此接口配合达到目的。

如果需要在其他代码中调用此接口,原理类似,且官方文档中有详细说明!!!