Brupsuite插件--验证码自动爆破
今天在测试时遇到一个网站需要进入后台,但是在登陆处设置了验证码,正好之前看到个文章有一款brup插件可以识别验证码并进行爆破,所以安装学习了一下。
安装
项目地址:https://github.com/f0ng/captcha-killer-modified
将项目下载,如图依次选择好安装好我们的插件
image-20220831164838165 出现如下图片则证明安装完成。
image-20220831165006649 此时我们如果想不加载该插件仅需将其前面的对勾删除即可。而同时,我们在brup的菜单栏中可以看到多了一个captcha-killer-modified一栏,这个就是我们的工具栏。
image-20220831165050121 使用
需要注意的是,该插件仅仅能帮我们将图片发送给图片识别的接口,并从接口中获取接口识别的图片的内容,并不能直接帮我们识别图片中的内容。这就需要我们去一个验证码识别的API接口。好的验证码识别接口有很多,比如百度的等等,但是本着不花钱的原则,在github上找到这样一个图片识别的项目可以免费来帮助我们识别验证码。
项目地址:https://github.com/sml2h3/ddddocr
该项目安装十分简单
我们使用pip即可完成安装
pip install ddddocr
pip install aiohttp此时我们验证码识别的接口已经安装完成。但是因为他是以python库的形式存在,我们没有办法直接使用,所以我们还要编写一个调用他的代码。
# -*- coding:utf-8 -*-
# author:f0ngf0ng
import argparse
import ddddocr # 导入 ddddocr
from aiohttp import web
parser = argparse.ArgumentParser()
parser.add_argument("-p", help="http port",default="8888")
args = parser.parse_args()
ocr = ddddocr.DdddOcr()
port = args.p
async def handle_cb(request):
# 如果下面的报错可以试试上面这个
# return web.Response(text=ocr.classification(img_base64=await request.text()))
return web.Response(text=ocr.classification(await request.text()))
app = web.Application()
app.add_routes([
web.post('/reg', handle_cb),
])
if __name__ == '__main__':
web.run_app(app, port=port)代码运行界面如下
image-20220831165838489 我们可以看到,其在我们本机的8888端口开了一个web服务,我们通过将图片以相应的请求包的形式发送过去,即可获取识别到的我们图片中的内容信息。
然后我们回到brup,将如下内容粘贴到插件中。当然,如果你不是在本机开的接口,那么需要你修改对应的服务器ip和端口。
POST /reg HTTP/1.1
Host: 127.0.0.1:8888
Connection: close
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>image-20220831170134373 此时我们找一个验证码的图片,这里建议我们可以直接点击验证码,来将其刷新,这时使用brup抓包便可以很轻松的抓到验证码图片的包了。并且安装如下操作将发送给我们的插件。
Snipaste_2022-08-31_17-03-53 然后我们回到插件中,点击获取,可以在右边的验证码中看到我们刚刚获取到的图片。
image-20220831170444269 我们输入好接口URL,点击识别即可看到我们的验证码成功被识别出来。因为我们的接口返回包比较简单,所以不需要进行匹配,如果返回包比较复杂的话,还可以在匹配规则处编写正则表达式进行匹配。
好了,如果如上测试都没问题了,那么我们便可以正式开始我们的爆破了。
image-20220831171012314 如下依次选择我们的插件。
image-20220831171035838 image-20220831171055727 此时我们点击爆破就可以开始了,不过这里建议我们将线程调小一些。经过测试,这个验证码识别的准确率还是比较高的,主要问题还是出在容易将1、7、I混淆,数字0,字母O混淆。此时我们便可以在我们的插件中看到验证码不断被识别了。
image-20220831171357310 免责声明 由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢! 星球的最近主题和星球内部工具一些展示
欢迎加入星球!
关 注 有 礼
关注下方公众号回复“666”可以领取一套精品渗透测试工具集和百度云视频链接。
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读
原文始发于微信公众号(渗透安全团队):Brupsuite插件--验证码自动爆破
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论