验证码识别插件 | captcha-killer
2023-3-10 21:27:11 Author: 渗透安全团队(查看原文) 阅读量:38 收藏

现在只对常读和星标的公众号才展示大图推送,建议大家能把渗透安全团队设为星标”,否则可能就看不到了啦

想必大家都会使用burp进行爆破,当遇到带验证码的登录表单进行爆破时,基本尝试抓包后观察验证码是否主动更新,或者进行验证码绕过(我是十八期萌新,听风风说的有这个方法,但我还没学到),机缘巧合下我接触到了captcha-killer这个插件,可以提供给大家第三种爆破思路(插件可以从GitHub下载)
(https://github.com/c0ny1/captcha-killer)

什么是captcha-killer?

总的来说,它是个用Java写的插件,可以无缝衔接于burp.但是他只是一个调用接口,并不进行识别的操作,真正进行验证码识别处理的是两个个用Python脚本(codereg.py)调用的两个接口(ddddocr和aiohttp), 稍后我会进行简明的介绍
captcha-killer设计理念是只专注做好对各种验证码识别技术接口的调用, 说具体点就是burp通过这一个插件,就可以适配各种验证码识别接口,无需重复编写调用代码.
今天不谈编码层面如何实现(主要是我也不会),感兴趣的同学可以去github看源码. 此篇文章只通过使用步骤来说明使用方法

简要介绍codereg.py

个人理解,这个脚本的整体识别流程是通过python在本地开启一个验证码识别的web接口来接收captcha-killer传来的验证码图片内容,然后调用识别服务(利用机器学习)来识别,最后返回结果给captcha-killer.



ok废话不多说,这里是正题!!!!!!!!!!!!

1.安装插件

首先打开burp,选择Extender——>Add(默认Java类型插件)————>Select File——>选择下载的captcha-killer-modified-jdk14.jar文件

发现任务栏里多出一个captcha-killer,就说明安装成功,如下图↓



2.获取目标网站验证码

(1)找到要爆破的网站并打开burp,我找到了一个网站作为案例(并未进行爆破)

(2)开始抓包,点击验证码刷新,拦截此次请求

(3)鼠标右键,将这个包发送到captcha-killer模组里

[‘extensions’—->’captcha-killer’—>’send to captcha panel’]

(4)点击任务栏里的插件模组,可以看到数据包已经自动填入,点击获取按钮,可以获取数据包内的图片验证码,此时获取验证码的流程已经走完,接下来的任务是进行识别

3.开启本地验证码识别服务

本文实验的python版本环境:Python 3.9.4

(1)python中安装ddddocr和aiohttp包

和其他第三方包的安装方式一样,在dos命令中写入以下命令

  1. pip install ddddocr aiohttp -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

这样就是安装成功了

(2)用python运行codereg.py脚本

打开命令控制台(建议在当前文件夹下打开cmd,不用填路径也不用配环境变量)
运行以下脚本

  1. python codereg.py


显示ddddocr(本地验证码识别的web接口)已经运行成功,此时的接收端口为8888.
注意,这个dos面板不能关掉,否则ddddocr不会继续运行,也就不能进行识别了

(3)在burp的captcha页面配置接口URL和请求模板(Request template)

  1. POST /reg HTTP/1.1

  2. Host: 127.0.0.1:8888

  3. Authorization:Basic f0ngauth

  4. User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:97.0) Gecko/20100101 Firefox/97.0

  5. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

  6. 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

  7. Accept-Encoding: gzip, deflate

  8. Connection: keep-alive

  9. Upgrade-Insecure-Requests: 1

  10. Content-Type: application/x-www-form-urlencoded

  11. Content-Length: 8332

  12. <@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>

将以上代码直接复制进插件页面的左下角的请求模板中,填写url为http://127.0.0.1:8888

点击识别之后通过ddddocr进行了机器学习的识别,可以看到dos面板开始进行了一系列操作

此时可在右边的结果栏看到识别成功(这个第一张示例验证码比较复杂,所以识别失误了),但问题不大,识别简单的验证码成功率为百分之99.9%,复杂的验证码就别用这个插件了

以上就是配置识别验证码的接口配置完成,接下来进行批量化处理的教学

4.最终步骤:将验证码识别与爆破结合

(1)按正常步骤进行账号密码验证的抓包

打开拦截开关,抓取登录操作的数据包

(2)发送到intruder模块

和正常的爆破一样,发送到入侵者模块

(3)对密码和验证码添加攻击字段标记并选择pitchfork模式

(4)字段1对应密码,选择字典

payload页面字段1选一个爆破密码的字典

(5)字段2对应captcha-killer模块

第二个payload是验证码的值
线程2选择继承插件模式
继承插件选择captcha-killer

(6)一定注意选择单线程

线程池为单线程,否则验证码识别会交叉出现错误,很好理解,因为页面的验证码会一次一换,如果不是一一对应的关系就会出现验证码错误.

(7)最终开始攻击,就会实现密码和验证码一一对应的爆破了


↑此图为本机测试,并未进行未授权攻击


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


群聊 | 技术交流群-群除我佬

干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247500007&idx=4&sn=8e82098411d84e3421c854cbdd3e8fe2&chksm=c1763d48f601b45e550e45c4dc487294a6adf82aac457c0abbbe38e851923beb157957afe99f#rd
如有侵权请联系:admin#unsafe.sh