1.针对情况
在爆破账户口令时,每一次爆破请求都会刷新一次验证码,需要burp自动识别验证码并传入请求中。
2.测试环境
BurpSuite专业版 v2023.5.1 |
captcha-killer-modified-0.24.2-jdk8验证码识别插件 |
captcha-killer-modified-0.24.2验证码处理接口 |
3.配置步骤
3.1选择与运行本地burpsuite的jdk版本一致的插件
我的电脑的jdk版本为1.8
1
3.2BurpSuite安装插件
进入burpsuite界面,点击扩展,随后点击添加:
2
随后点击添加里的选择文件,选择下载到本地的验证码识别插件jar包:
3
添加完成后的提示:
4
3.3配置验证码处理接口
将captcha-killer-modified-0.24.2.zip验证码处理接口代码文件解压到本地,进入源码目录,输入以下代码,安装所需依赖:
#step1
pip install -r requirements
#step2
pip install ddddocr aiohttp
安装完成后,进入源码目录,运行codereg.py:
python codereg.py
5
4.实战操作
访问一个带有验证码登录的网站,找到其获取验证码的接口:
6
首先bp开启抓包,在输入用户名、密码等信息后,在代{过}{滤}理-》HTTP历史记录里找到验证码接口:
7
然后将此包发送到captcha panel(点击Send to captcha panel)
8
接着在captcha panel配置接口信息:
9
分为验证码URL和接口URL,验证码URL即为调用验证码接口的主域,接口URL即为我们配置的验证码处理接口,然后先点击验证码URL旁的获取,得到一个验证码,再点击接口URL旁的识别,可在右侧发现已经完成识别。
5.配合intruder爆破操作
在密码和验证码处添加payload(爆破的数据包里面的SessionID要和验证码识别接口处的SessionID一致):
10
然后在payload处,设置payload2调用验证码识别插件:
11
接下来设置资源池:
12
设置一秒一个请求(可以自行尝试多个请求,1秒1个请求已经很低了,正常测试不会那么低)是防止验证码处理较慢,防止一个验证码被多次请求使用,最后点击开始攻击。
13
可以看到成功开始识别验证码,也可以在captcha panel处看到识别记录:
14
6.验证码长度问题
如果验证码长度不是4位,可以修改codereg.py里的验证码长度,如下图:
15
修改为[0:6]即可开始识别6位的验证码。
附件:
captcha-killer-modified-0.24.2.zip
captcha-killer-modified-0.24.2-jdk8.jar
|