全网最新、最详细的使用burpsuite验证码识别绕过爆破教程(2023最新)

1、前沿

最近一直在研究绕过验证码进行爆破的方法,在这里对自己这段时间以来的收获进行一下分享。在这里要分享的绕过验证码爆破的方法一共有2个,分为免费版本(如果验证码比较奇怪可能会有识别错误的情况)和付费版本(调用收费接口,所以很精准),下面针对两种不同的版本分别做分享

2、免费版验证码识别爆破

(1)软件下载地址

https://github.com/smxiazi/NEW_xp_CAPTCHA/releases/tag/4.2
无法访问github的可以用下面的地址下载
https://download.csdn.net/download/qq1140037586/87349626

(2)插件的加载

使用如下步骤将下载好的NEW_xp_CAPTCHA_4.2.jkd.8.jar文件导入到burpsuit
在这里插入图片描述
在burpsuit顶部能看到xiapao插件成功加载之后就成功了
在这里插入图片描述

(3)插件的使用

!!!注意,需要python3 小于3.7的版本(3.6.6版本亲测没问题)!!!
如果是用win系统可以直接下载打包好的环境,内置python3.6.6版本以及下载好对应的模块 NEW_xp_CAPTCHA win64 python环境完整版.rar
网盘链接: https://pan.baidu.com/s/1U0ZRjtxdqmNYF0b_O-6B1Q 提取码: tfi5
CSDN下载链接https://download.csdn.net/download/qq1140037586/87349535
1、首先进行pip更新

python -m pip install --upgrade pip
python -m pip install requests

2、 安装muggle-ocr(文件大概400M左右,需要安装一点时间)

python -m pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com muggle-ocr

3、镜像安装

python -m pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple

4、进入到下载的插件目录,执行如下命令,将验证码识别服务启动起来

python.exe server_4.2.py

启动后效果如下
在这里插入图片描述
启动之后,访问http://127.0.0.1:8899/会出现如下页面,就证明服务启动成功
在这里插入图片描述
5、开始使用验证码识别爆破
在需要验证码识别的地方右击,复制图片地址
在这里插入图片描述
将地址填写到箭头所指的地方,勾选启动插件,监控intruder,监控repreter,点击保存配置
在这里插入图片描述
此时输入内容点击登陆提交之后,抓包,将其发送到intruder,在验证码值得地方替换内容为

@xiapao@1@

在这里插入图片描述
!!!注意 !!!
爆破的时候,并发数量一定要设置为1,不然大概率会出现验证码错位的情况,导致爆破失败
在这里插入图片描述

之后添加payload后,就可以开始跑了,可以看到,没有提示验证码错误,而是提示密码错误
在这里插入图片描述
最终爆破也能成功登陆
在这里插入图片描述
此时在http://127.0.0.1:8899/地址能看到爆破时的识别记录,可以看到当验证码出现比较奇葩的时候是有误报的,所以接下来会介绍进阶版,直接调用收费api进行爆破
在这里插入图片描述

3、付费版验证码识别爆破

(1)插件下载

https://github.com/smxiazi/xp_CAPTCHA/releases
无法访问github的可以用下面的地址下载
https://download.csdn.net/download/qq1140037586/87349607

(2)插件加载

与免费版一样,使用如下步骤将下载好的NEW_xp_CAPTCHA_4.2.jkd.8.jar文件导入到burpsuit
在这里插入图片描述

(3)平台注册

先在http://www.kuaishibie.cn处注册账号。(由于调用这个平台的接口,请先注册,收费是1块钱识别500次),注册好后在如下的位置填写好账号密码,勾选启动插件,监控intruder,监控repreter,点击保存配置
在这里插入图片描述

(4)开始使用验证码识别爆破

在需要验证码识别的地方右击,复制图片地址
在这里插入图片描述
将地址填写到箭头所指的地方,勾选启动插件,监控intruder,监控repreter,点击保存配置
在这里插入图片描述
此时输入内容点击登陆提交之后,抓包,将其发送到intruder,在验证码值得地方替换内容为,点击开始攻击

@xiapao_api@1@

在这里插入图片描述
最终爆破成功
在这里插入图片描述
可以在后台http://www.kuaishibie.cn/user/detail.html看到识别的记录,可以发现99.9%都是识别成功的
在这里插入图片描述

  • 14
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
好的,以下是基于BP神经网络的图片验证码识别Python代码: 首先,我们需要导入相关的库: ```python import numpy as np import matplotlib.pyplot as plt from PIL import Image ``` 接着,我们需要准备训练数据。假设我们有一个包含100个验证码图片的数据集,每个验证码有5个字符,每个字符大小为30x30像素。我们可以将每个字符转换成一个长度为900的向量,然后将5个字符的向量合并成一个长度为4500的向量。将这些向量保存到一个numpy数组中,作为训练数据。 ```python # 加载训练数据 X_train = [] y_train = [] for i in range(100): for j in range(5): im = Image.open(f"captcha_{i}_{j}.png") # 加载验证码图片 im = im.convert("L") # 转换为灰度图 im = im.resize((30, 30)) # 缩放为30x30像素 X_train.append(np.array(im).flatten()) # 将字符转换成向量并加入训练数据 y_train.append(i) # 记录验证码的序号 X_train = np.array(X_train) y_train = np.array(y_train) ``` 接着,我们需要对训练数据进行预处理。将像素值归一化到0到1之间,并对标签进行one-hot编码。 ```python # 对训练数据进行预处理 X_train = X_train / 255.0 y_train_onehot = np.zeros((len(y_train), 100)) y_train_onehot[np.arange(len(y_train)), y_train] = 1 ``` 接下来,我们可以构建BP神经网络模型。这里我们使用一个包含一个隐藏层的神经网络,隐藏层的大小为100。输入层大小为4500,输出层大小为100,代表100个不同的验证码。 ```python # 构建BP神经网络模型 class NeuralNetwork: def __init__(self, input_size, hidden_size, output_size): self.W1 = np.random.randn(input_size, hidden_size) * 0.01 self.b1 = np.zeros((1, hidden_size)) self.W2 = np.random.randn(hidden_size, output_size) * 0.01 self.b2 = np.zeros((1, output_size)) def forward(self, X): self.z1 = np.dot(X, self.W1) + self.b1 self.a1 = np.tanh(self.z1) self.z2 = np.dot(self.a1, self.W2) + self.b2 exp_scores = np.exp(self.z2) self.probs = exp_scores / np.sum(exp_scores, axis=1, keepdims=True) return self.probs def backward(self, X, y, learning_rate): delta3 = self.probs delta3[range(len(X)), y] -= 1 dW2 = np.dot(self.a1.T, delta3) db2 = np.sum(delta3, axis=0, keepdims=True) delta2 = np.dot(delta3, self.W2.T) * (1 - np.power(self.a1, 2)) dW1 = np.dot(X.T, delta2) db1 = np.sum(delta2, axis=0) self.W1 -= learning_rate * dW1 self.b1 -= learning_rate * db1 self.W2 -= learning_rate * dW2 self.b2 -= learning_rate * db2 def train(self, X, y, learning_rate, num_passes): for i in range(num_passes): probs = self.forward(X) self.backward(X, y, learning_rate) if i % 10 == 0: loss = self.calculate_loss(X, y) print(f"iteration {i}: loss = {loss}") def calculate_loss(self, X, y): num_examples = len(X) correct_logprobs = -np.log(self.probs[range(num_examples), y]) data_loss = np.sum(correct_logprobs) return 1.0 / num_examples * data_loss nn = NeuralNetwork(4500, 100, 100) nn.train(X_train, y_train, 0.01, 1000) ``` 最后,我们可以使用训练好的模型对新的验证码进行识别。首先需要将验证码转换成向量,然后使用训练好的神经网络模型进行预测。 ```python # 加载测试数据 im = Image.open("test_captcha.png") im = im.convert("L") im = im.resize((30, 150)) X_test = np.array(im).reshape(5, 30*30) # 对测试数据进行预处理 X_test = X_test / 255.0 # 使用训练好的模型进行预测 y_test_prob = nn.forward(X_test) y_test = np.argmax(y_test_prob, axis=1) # 输出预测结果 print("Predicted labels:") print(y_test) ``` 以上就是基于BP神经网络的图片验证码识别Python代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值