使用burpsuite插件绕过图片验证码暴力破解

admin 2022年3月27日02:06:42评论1,906 views字数 3065阅读10分13秒阅读模式

一、项目介绍

0x01 工具介绍

说起对存在验证码的登录表单进行爆破,大部分人都会想到PKav HTTP Fuzzer,这款工具在前些年确实给我们带来了不少便利。这个是PKav HTTP Fuzzer使用方法的教程链接:https://cloud.tencent.com/developer/article/1872309。今天学习的是burp的一个插件----captcha-killer来绕过验证码。

0x02 项目地址

下载链接:https://github.com/f0ng/captcha-killer-modified

0x03 安装插件

burpsuite-->Extender-->Add

使用burpsuite插件绕过图片验证码暴力破解

Select file-->Next-->Close

使用burpsuite插件绕过图片验证码暴力破解

安装成功

使用burpsuite插件绕过图片验证码暴力破解

二、工具使用

0x01 获取验证码

Extensions-->captcha-killer-modified 0.14-->captcha-killer-->Send to captcha panel

注意:我们拦截的是获取验证码的数据包,而不是登录的数据包。也就是说,我们在页面上点击的地方不是登录,而是点击的图片验证码的位置。

使用burpsuite插件绕过图片验证码暴力破解

使用burpsuite插件绕过图片验证码暴力破解


0x02 获取要识别的验证码

然后到切换到captcha-killer插件面板,点击获取即可拿到要识别的验证码图片内容。

注意:获取验证码的cookie一定要和intruder发送的cookie相同!

使用burpsuite插件绕过图片验证码暴力破解

0x03 配置识别接口

代码如下:(安装需要的库)

# -*- coding:utf-8 -*-# author:f0ngf0ng
import argparseimport ddddocr # 导入 ddddocrfrom 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()))
app = web.Application()app.add_routes([ web.post('/reg', handle_cb),])
if __name__ == '__main__': web.run_app(app, port=port)

在本机上执行(由于本机为mac,并且python版本大于3.9,因此在自己的VPS上启动脚本),执行命令如下:

python3 codereg.py

使用burpsuite插件绕过图片验证码暴力破解

0x04 进行抓包

我们通过访问开启的8888端口,然后进行抓包,接着将数据包替换为下述内容:

POST /reg HTTP/1.1Host: xxx.xxx.xxx.xxx:8888Connection: closeCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-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.36Sec-Fetch-Mode: navigateSec-Fetch-User: ?1Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3Sec-Fetch-Site: noneAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Content-Type: application/x-www-form-urlencodedContent-Length: 55
<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>

使用burpsuite插件绕过图片验证码暴力破解

右键-->Extensions-->captcha-killer-modified 0.14-->captcha-killer-->Send to interface panel

使用burpsuite插件绕过图片验证码暴力破解

点击识别即可识别出验证码

使用burpsuite插件绕过图片验证码暴力破解

0x05 设置用于匹配识别结果的规则

       通过上一步我们获取到了识别接口的返回结果,但是插件并不知道返回结果中,哪里是真正的识别结果。插件提供了4种方式进行匹配,可以根据具体情况选择合适的。

ID 规则类型 描述
1 Repose data 这种规则用于匹配接口返回包内容直接是识别结果
2 Regular expression 正则表达式,适合比较复杂的匹配。比如接口返回包{"coede":1,"result":"abcd"}说明abcd是识别结果,我们可以编写规则为result":"(.*?)"}
3 Define the start and end positions 定义开始和结束位置,使用上面的例子,可以编写规则{"start":21,"end":25}
4 Defines the start and end strings 定义开始和结束字符,使用上面的例子,可以编写规则为{"start":"result":","end":""}"}

      当接口返回的json数据中,字段words的值为识别结果。我们这里使用Regular expression(正则表达式)来匹配,然后选择yzep右键标记为识别结果,系统会自动生成正则表达式规则" (.*?)"}]。这种适用于返回多个json数据,需要去匹配。

      但是我们测试案例中,返回结果中直接就是验证码,所以选择第一种方式。

使用burpsuite插件绕过图片验证码暴力破解

同时可以保存为模板以备下次使用。

使用burpsuite插件绕过图片验证码暴力破解

0x06 在Intruder中调用

第一步:抓取登录数据包

使用burpsuite插件绕过图片验证码暴力破解

第二步:添加爆破参数

使用burpsuite插件绕过图片验证码暴力破解

第三步:添加第一个字典

使用burpsuite插件绕过图片验证码暴力破解

第四步:添加第二个字典

使用burpsuite插件绕过图片验证码暴力破解

0x07 设置线程+延时时间

      如果不设置线程和延时时间,这样就会导致爆破速度太快,以致于无法正确抓到验证码就开始爆破下一个密码,所以会出现一些验证码错误,因此设置线程和延时时间。

使用burpsuite插件绕过图片验证码暴力破解

0x08 进行攻击

使用burpsuite插件绕过图片验证码暴力破解

0x09 成功绕过验证码爆破用户名密码

使用burpsuite插件绕过图片验证码暴力破解

      如果想要正确率很高,可以将延时调整得更大,但是这也势必会导致爆破速度变慢,因此需要平衡二者的关系。


参考链接:

https://github.com/f0ng/captcha-killer-modified

https://github.com/f0ng/captcha-killer-modified

原文始发于微信公众号(想走安全的小白):使用burpsuite插件绕过图片验证码暴力破解

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月27日02:06:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用burpsuite插件绕过图片验证码暴力破解http://cn-sec.com/archives/843272.html

发表评论

匿名网友 填写信息