验证码识别插件对登录页面进行爆破

admin 2023年2月4日06:35:49评论31 views字数 2542阅读8分28秒阅读模式

验证码识别插件对登录页面进行爆破



0x01插件下载

项目地址:
https://github.com/c0ny1/captcha-killer
https://github.com/f0ng/captcha-killer-modified
安装burp插件:
下载已编译好的jar文件 https://github.com/f0ng/captcha-killer-modified/releases

验证码识别插件对登录页面进行爆破

0x02验证码识别平台使用

https://github.com/sml2h3/ddddocr 安装命令

pip install ddddocr

以上命令将自动安装符合自己电脑环境的最新ddddocr

0x03验证码接口搭建

https://github.com/sml2h3/ocr_api_server 将源代码下载到本地

验证码识别插件对登录页面进行爆破
# 安装依赖
pip install -r requirements.txt -i https://pypi.douban.com/simple

# 运行  可选参数如下
# --port 9898 指定端口,默认为9898
# --ocr 开启ocr模块 默认开启
# --old 只有ocr模块开启的情况下生效 默认不开启
# --det 开启目标检测模式

# 最简单运行方式,只开启ocr模块并以新模型计算
python3 ocr_server.py --port 9898 --ocr

# 开启ocr模块并使用旧模型计算
python3 ocr_server.py --port 9898 --ocr --old

# 只开启目标检测模块
python3 ocr_server.py --port 9898  --det

# 同时开启ocr模块以及目标检测模块
python3 ocr_server.py --port 9898 --ocr --det

# 同时开启ocr模块并使用旧模型计算以及目标检测模块
python3 ocr_server.py --port 9898 --ocr --old --det

使用一下命令开启服务

python3 ocr_server.py --port 9898 --ocr
验证码识别插件对登录页面进行爆破

0x04配置验证码地址

使用带验证码页面进行测试
http://demo.xxxxx.com/login.php?s=Admin/login

验证码识别插件对登录页面进行爆破

获取更新验证码链接并发送到插件

验证码识别插件对登录页面进行爆破

使用burp抓取获取验证码数据包,然后右键captcha-killer -> send to captcha panel发送数据包到插件的验证码请求面板。

验证码识别插件对登录页面进行爆破

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

验证码识别插件对登录页面进行爆破

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

0x05配置识别接口的地址和请求包

验证码识别插件对登录页面进行爆破

启动ocr_api_server项目API

python3 ocr_server.py --port 9898 --ocr

拿到验证码之后,就要设置接口来进行识别了。我们使用ocr_api_server项目,用burp抓包,然后右键发送到插件的接口请求面板。

验证码识别插件对登录页面进行爆破

然后把图片内容的位置用标签来代替。比如该例子使用的接口是post提交,值为图片二进制数据的base64编码后的url编码。那么Request template(请求模版)面板应该填写如下:

验证码识别插件对登录页面进行爆破
POST /ocr/b64/json HTTP/1.1
Host: 127.0.0.1:9898
User-Agent: python-requests/2.24.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Length: 2540

<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>

最后点击“识别”即可获取到接口返回的数据包,同时在request raw可以看到调用接口最终发送的请求包。

验证码识别插件对登录页面进行爆破

模版被渲染为最终的请求

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

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

验证码识别插件对登录页面进行爆破

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

验证码识别插件对登录页面进行爆破

设置匹配方式和自动生成规则 注意:若右键标记自动生成的规则匹配不精确,可以人工进行微调。比如该例子中可以微调规则为"words": "(.*?)"}将更加准确!到达这步建议将配置好常用接口的url,数据包已经匹配规则保存为模版,方便下次直接通过右键模板库中快速设置。同时插件也有默认的模版供大家使用与修改。

0x07在Intruder模块调用

配置好各项后,可以点击锁定对当前配置进行锁定,防止被修改导致爆破失败!接着安装以下步骤进行配置

验证码识别插件对登录页面进行爆破

设置Intruder的爆破模式和payl

验证码识别插件对登录页面进行爆破


验证码payload选择有插件来生成记得使用单线程,不然验证码对应不上

验证码识别插件对登录页面进行爆破

点击开始进行爆破

验证码识别插件对登录页面进行爆破

进行爆破,可以通过对比识别结果看出识别率

参考文章

https://gv7.me/articles/2019/burp-captcha-killer-usage/

https://mp.weixin.qq.com/s/_P6OlL1xQaYSY1bvZJL4Uw


E

N

D



Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。

验证码识别插件对登录页面进行爆破

原文始发于微信公众号(Tide安全团队):验证码识别插件对登录页面进行爆破

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月4日06:35:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   验证码识别插件对登录页面进行爆破http://cn-sec.com/archives/1284186.html

发表评论

匿名网友 填写信息