captcha-killer burp验证码识别插件体验
0x01 使用背景
在渗透测试和src挖洞碰到验证码不可绕过时,就会需要对存在验证码的登录表单进行爆破,以前一直使用PKav HTTP Fuzzer和伏羲验证码识别来爆破,但是两者都有缺点PKav HTTP Fuzzer只能对简单的验证码进行识别,伏羲验证码识别需要自己制作验证码识别的模块需要耗费一定时间训练,而captcha-killer可以直接调用云打码平台的验证码识别接口可以带来一定的便利(花费钱的代价)。
github项目地址:https://github.com/c0ny1/captcha-killer
0x02 调用百度ocr识别验证码
首先想到了调用百度ocr识别验证码,一天有5w次免费.


创建一个应用然后记录API Key Secret Key用来获取Access Token具体可以看
https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
使用插件captcha-killer自带的baiduocr模板

更改这两个地方为你的应用的接口地址和access_token


多次试验以后发现百度OCR用来识别验证码的正确率非常低,而且百度OCR不支持gif格式的图片识别

0x03 调用云打码平台识别验证码
首先找了一个打码平台:http://www.ttshitu.com/
冲了十块钱以后查看开发文档: http://www.ttshitu.com/docs/index.html#pageTitle
构造http请求模板如下
POST /base64 HTTP/1.1
Host: api.ttshitu.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123
Connection: close
Content-Type: application/json; charset=UTF-8
Content-Length: 2658
{"username":"*","password":"*","typeid":"1","image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"}
username password填自己的 typeid为识别的类型1代表纯数字,自己填写正则匹配验证码

识别效果还是可以大概30个错一个的样子

全部调整好了就可以在Intruder模块调用记住Intruder中的cookie要和验证码插件那里的cookie一样


然后就可以开始爆破了

测试后发现多线程会导致大量验证码错误,插件应该不支持多线程,验证码还没识别完成,已经被另一个线程刷新改变了
captcha-killer burp验证码识别插件体验的更多相关文章
- captcha.js一个生成验证码的插件,使用js和canvas生成
		一.captcha`captcha.js`是一个生成验证码的插件,使用js和canvas生成的,确保后端服务被暴力攻击,简单判断人机以及系统的安全性,体积小,功能多,支持配置. 验证码插件内容,包含1 ... 
- JMeter开发插件——图片验证码识别
		我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ... 
- Python&selenium&tesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考
		在自动化测试或者安全渗透测试中,Captcha验证码的问题经常困扰我们,还好现在OCR和AI逐渐发展起来,在这块解决上越来越支撑到位. 我推荐的几种方式,一种是对于简单的验证码,用开源的一些OCR图片 ... 
- 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率
		识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ... 
- Web安全之爆破中的验证码识别~
		写爆破靶场的时候发现对于爆破有验证码的有点意思~这里简单总结下我们爆破有验证码的场景中几种有效的方法~~~ 0x01 使用现成工具 这里有pkav团队的神器PKAV HTTP Fuzzer 1.5.6 ... 
- 验证码识别之w3cschool字符图片验证码(easy级别)
		起因: 最近在练习解析验证码,看到了这个网站的验证码比较简单,于是就拿来解析一下攒攒经验值,并无任何冒犯之意... 验证码所在网页: https://www.w3cschool.cn/checkmph ... 
- 神经网络实现Discuz验证码识别
		最近自己尝试了网上的验证码识别代码项目,该小项目见以下链接: https://cuijiahua.com/blog/2018/01/dl_5.html 数据也就用了作者上传的60000张Discuz验 ... 
- Python实现各类验证码识别
		项目地址: https://github.com/kerlomz/captcha_trainer 编译版下载地址: https://github.com/kerlomz/captcha_trainer ... 
- 基于LeNet网络的中文验证码识别
		基于LeNet网络的中文验证码识别 由于公司需要进行了中文验证码的图片识别开发,最近一段时间刚忙完上线,好不容易闲下来就继上篇<基于Windows10 x64+visual Studio2013 ... 
随机推荐
- 趣谈编程史第3期-大器晚成的新晋流量Python发展史
			写在前面 这篇博文主要介绍javaScript的发展史,根据作者在B站发布的同名视频的文案整理修改而成,对视频感兴趣的博友可访问https://www.bilibili.com/video/av860 ... 
- Javascript中String()和new String()的区别——JS的包装对象
			最近在看Symbol不能使用new操作符,然后类比到Number,String,Boolean,因为它们同属于基本类型,但是有有所差异:Number,String,Boolean是可以使用new操作符 ... 
- idea新建springboot项目
			不多说废话,直接进入正题,按照下面的步骤创建一个springboot项目一般不会出错,当然不排除可能会有一些脸黑的,不过应该问题不大. 第一步,如果你是在已有的项目里面,新建一个springboot项 ... 
- <字符串匹配>KMP算法为何比暴力求解的时间复杂度更低?
			str表示文本串,m表示模式串; str[i+j] 和 m[j] 是正在进行匹配的字符; KMP的时间复杂度是O(m+n) , 暴力求解的时间复杂度是O(m*n) KMP利用了B[0:j]和A[i ... 
- MATLAB神经网络(5) 基于BP_Adaboost的强分类器设计——公司财务预警建模
			5.1 案例背景 5.1.1 BP_Adaboost模型 Adaboost算法的思想是合并多个“弱”分类器的输出以产生有效分类.其主要步骤为:首先给出弱学习算法和样本空间($X$,$Y$),从样本空间 ... 
- [vue/require-v-for-key] Elements in iteration expect to have 'v-bind:key' directives.
			使用VScode开发vue中,v-for在Eslint的规则检查下出现报错:如下Elements in iteration expect to have ‘v-bind:key’ directives ... 
- 数据科学中的常见的6种概率分布(Python实现)
			作者:Pier Paolo Ippolito@南安普敦大学 编译:机器学习算法与Python实战(微信公众号:tjxj666) 原文:https://towardsdatascience.com/pr ... 
- (11)nc命令(每周一个linux命令)
			nc(netcat)实用程序几乎可用于所有涉及TCP或UDP的事情.它可以打开TCP连接,发送UDP数据包,监听任意TCP和UDP端口,进行端口扫描,处理IPv4和IPv6.与telnet不同,nc可 ... 
- SpringMVC框架——原理及使用
			核心组件 1. DispatcherServlet:前端控制器器,负责调度其他组件的执行,可降低不同组件之间的耦合性,是Spring MVC 的核心模块. 2. Handler:处理器,完成具体的业务 ... 
- linux入门系列18--Web服务之Apache服务2
			接上一篇文章,在了解Apache基本配置以及SELinux相关知识后,继续演示Apache提供的虚拟主机功能以及访问控制方式. 如果还没看上一篇的建议先查看后再来,上篇文章"linux入门系 ... 
