STATEMENT
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
简介
1、ddddocr是由sml2h3开发的专为验证码厂商进行对自家新版本验证码难易强度进行验证的一个python库
python<=3.9直接用命令 pip install ddddocr 进行安装
项目地址:https://github.com/sml2h3/ddddocr
2、captcha-killer是一个burpsuite的插件,captcha-killer本身无法识别验证码,它专注于对各种验证码识别接口的调用
项目地址:https://github.com/c0ny1/captcha-killer
这个插件安装需要注意,如果burpsuite的版本在2020版之前,可以到上面的项目地址进行下载,但如果burpsuite版本在2020版及之后,则到上述项目地址下载后无法使用,可到如下地址下载:
https://github.com/Ta0ing/captcha-killer-java8
使用方法
首先需要明确,ddddocr只是一个python库,需要编写脚本利用这个库进行验证码的识别,附上脚本:
# encoding=utf-8
import os
from flask import Flask, request
import ddddocr
import base64
app = Flask(__name__)
@app.route('/api/upload', methods=['POST'])
def upload_pic():
data = request.form.get('image', '')
img_data = base64.b64decode(data)
with open('captcha.jpg', 'wb') as f:
f.write(img_data)
ocr = ddddocr.DdddOcr()
with open('captcha.jpg', 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
return res
if __name__ == "__main__":
app.run(host="127.0.0.1",port=8991,debug=True)
这个脚本利用flask框架开启一个web服务,到时候captcha-killer插件会将验证码图片通过这个web服务传过来,然后脚本对验证码图片进行解析,将解析结果返回。
2、抓取验证码的请求包
1)访问登录接口,点击验证码刷新,用burpsuite抓包
2)将抓取到的验证码请求包发送到插件
3)切换到插件,点击获取,如果能获取到验证码,说明是这个包
4)配置接口,发送请求
这里给出请求包格式:
POST /api/upload HTTP/1.1
Host: 127.0.0.1:8991
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
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
Accept-Encoding: gzip, deflate, br
Referer: http://127.0.0.1:8991/api/upload
Content-Type: application/x-www-form-urlencoded
Content-Length: 9
Origin: http://127.0.0.1:8991
Connection: keep-alive
Cookie: ll=108296; BAIDUID=FEA7B3A131CE38315D6659E087861E2B:FG=1; BIDUPSID=FEA7B3A131CE38313A9C5BD381345226; PSTM=1644314147; channel=127.0.0.1:8084; baikeVisitId=229b0def-020a-4bf9-9635-3bb7a01623ca
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
image=<@URLENCODE><@BASE64><@IMG_RAW></@IMG_RAW></@BASE64></@URLENCODE>
接口URL填写第一步开启脚本时使用的IP和端口
5)点击识别即可识别出验证码
6)当以上步骤完成时,说明已经配置好了,接下来就可以进行验证码绕过爆破了,首先在登录接口输入账号密码验证码抓取请求包,发送到intruder模块,使用pitchfork攻击类型,设置密码和验证码为变量
7)然后在位置一设置为密码字典,位置二选择有效载荷类型为通过扩展生成,然后选择captcha-killer这个插件扩展
8)现在就可以进行爆破了
安恒信息
✦
杭州亚运会网络安全服务官方合作伙伴
成都大运会网络信息安全类官方赞助商
武汉军运会、北京一带一路峰会
青岛上合峰会、上海进博会
厦门金砖峰会、G20杭州峰会
支撑单位北京奥运会等近百场国家级
重大活动网络安保支撑单位
END
长按识别二维码关注我们