freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

GPT4o Captcha Bypass :基于GPT4o 实现验证码绕过
2024-07-21 16:06:41

什么是GPT4o Captcha Bypass:

该项目是一个 CLI 工具,用于使用 Python 和 Selenium 测试各种类型的验证码,包括谜题、文本、复杂文本和 reCAPTCHA。该工具还使用 OpenAI GPT-4 来帮助解决验证码。

image-20240721155821093

原理

1. 图像处理

图像上传和预处理

  • 工具使用Imgur API将CAPTCHA图像上传到Imgur。这一步主要是为了方便后续将图像传递给GPT-4o模型进行处理。

  • 使用Selenium模拟用户行为,截图或获取网页上的CAPTCHA图像。

预处理步骤

  • 图像转换:将彩色图像转换为灰度图像,以减少处理复杂度。

  • 噪声去除:使用图像处理技术(如OpenCV)去除图像中的噪声,提高文本识别的准确性。

  • 图像裁剪:裁剪掉无关部分,仅保留包含CAPTCHA内容的部分。

2. 模型调用

使用GPT-4o模型进行识别

  • 通过调用OpenAI的GPT-4o API,工具将处理后的图像传递给模型。GPT-4o模型利用其强大的自然语言处理和计算机视觉能力,解析图像中的文本或解决图像中的CAPTCHA挑战。

  • 模型返回识别结果或解答结果。

技术细节

  • GPT-4o模型结合了卷积神经网络(CNN)用于图像特征提取和Transformer架构用于文本生成。CNN在处理图像数据时非常有效,而Transformer在生成和理解文本时表现优异。

  • 图像识别流程包括图像特征提取、文本区域检测、字符识别和结果生成。

3. 自动化操作

Selenium自动化浏览器操作

  • Selenium用于在浏览器中模拟用户行为,包括打开网页、填写表单和提交数据。通过这种方式,工具可以自动执行绕过CAPTCHA的整个过程。

  • 具体步骤包括:

    • 启动浏览器并导航到目标网页。

    • 定位并截图CAPTCHA图像。

    • 提交识别结果到相应的输入框。

    • 完成表单并提交。

4. 结果处理

结果验证和错误处理

  • 提交表单后,工具会检查CAPTCHA验证结果。如果CAPTCHA解答失败,工具可以重新尝试解决,或者根据错误类型进行调整。

  • 在某些情况下,工具会记录失败的CAPTCHA图像和识别结果,用于后续的分析和改进。

工具要求

python 3.7+
Firefox 浏览器
imgur 账户 (用于上传图片)
拥有 GPT-4 API 的 OpenAI 账户

安装必要的软件:

克隆仓库并安装依赖:

git clone https://github.com/aydinnyunus/gpt4-captcha-bypass
cd gpt4-captcha-bypass
pip install -r requirements.txt

配置环境变量:

  • 创建一个.env文件,并添加Imgur客户端ID和OpenAI API密钥:

echo "OPENAI_API_KEY=sk-your-openai-api-key" > .env
echo "IMGUR_CLIENT_ID=your-imgur-client-id" >> .env

安装Geckodriver:

  • 确保已安装Geckodriver,用于控制Firefox浏览器。可以使用webdriver-manager安装:

pip install webdriver-manager

运行工具:

  • 使用以下命令运行工具,选择你想要解决的CAPTCHA类型(如text、complicated_text、recaptcha、puzzle):

python captcha_tester.py [captcha_type]

一共为四大模块:文本、复杂文本、验证码、滑动验证

例如:

python captcha_tester.py text

用法

使用所需的验证码类型运行 CLI 工具:

python captcha_tester.py [captcha_type]

其中可以[captcha_type]是以下之一: puzzle, text, complicated_text, recaptcha.

exp 例子:

python captcha_tester.py text

验证码类型:

  • text:测试简单的文本验证码。

  • complicated_text:测试复杂的文本验证码。

  • recaptcha:测试 Google 的 reCAPTCHA。

  • puzzle:测试拼图验证码。

文本

image-20240721153451352

复杂文字

image-20240721153510826

Recaptcha 和滑动验证

平均需要 10 次尝试才能绕过 Recaptcha 和滑动验证码。

image-20240721153539972

image-20240721154226343

项目地址

GPT4o Captcha Bypass:传送门

# web安全 # 验证码破解 # AI # 图形验证码 # 验证码绕过
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录