Nacos身份认证权限绕过+漏洞利用工具分享

目录

一 JWT

JWT:

JWT的使用场景:

JWT构造:

二 漏洞描述:

三 环境搭建

四 漏洞复现

五 工具漏洞复现

六 修复建议

七 工具分享


本文由掌控安全学院 - 小博  投稿

一 JWT

JWT:

JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。
在线解密查看内容:

 
  1. https://jwt.io/

JWT的使用场景:

1.Authorization(授权): 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。

2.Exchange (信息交换):对于安全的在各方之间传输信息而言,JSON Web Tokens无疑是一种很好的方式。因为JWT可以被签名,例如,用公钥/私钥对,你可以确定发送人就是它们所说的那个人。另外,由于签名是使用头和有效负载计算的,您还可以验证内容没有被篡改。

JWT构造:

JSON Web Token由三部分组成,它们之间用圆点连接。
这三部分分别是:

 
  1. Header

  2. Payload

  3. Signature

Header由两部分组成:
1.token的类型(JWT)
2.算法名称(比如: HMACSHA256或者RSA等等)

Payload:
声明是关于实体(通常是用户)和其他数据的声明。
声明有三种类型: registered, public 和 private。

Signature:
为了得到签名部分,你必须有编码过的header、编码过的payload、一个秘钥,签名算法是header中指定的那个,然对它们签名即可。

图片

二 漏洞描述:

开源服务管理平台Nacos在默认配置下未对token.secret.key进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。

三 环境搭建

 
  1. 搭建地址:

  2. https://vulhub.org/#/docs/install-docker-one-click/

1.虚拟机安装一个kali,按照搭建地址上面的步骤一步一步安装docker容器,再把Vulhub下载到里面

图片


2.安装完成后,来到nacos的cve的文件夹下面,运行命令行搭建环境

 
  1. docker-compose up -d

图片


3.这样就可以搭建一个环境,在访问你的 http://你的环境ip:8848

图片

4.移除环境

 
  1. docker-compose down

图片


5.同样的Vulhub里面集合了很多漏洞的环境,都应该使用上面的步骤进行搭建环境去复现

图片

四 漏洞复现

1.在nacos中,token.secret.key值是固定死的,位置在conf下的application.properties中
默认的key:
SecretKey012345678901234567890123456789012345678901234567890123456789

2.利用该默认 key可进行jwt构造,直接进入后台。
构造方法: 在https://jwt.io/ 中
payload设置
(1703214491是unix时间戳,设置这个参数的时候要比你系统当前的时间更晚):

 
  1. {

  2. "sub": "nacos",

  3. "exp": 1703214491

  4. }

把key输入到jwt的Signature当中

图片

3.得到jwt密文,复制加密的jwt

 
  1. eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcwMzIxNDQ5MX0.OnuuwTKWB7_NaZFEYtTMbwbsiJAXGwteeyYh10sLz4w

4.复制上面得到的值,抓包修改包,添加Authorization值,发送到nacos,获取到登录成功的带有token的响应包

图片

5.在登陆页面随机输入任意账号密码去登陆,修改响应包为登录成功带有token的响应包

图片

图片

图片

6.成功绕过登录到后台页面

图片

五 工具漏洞复现

1.这款NacosExploitGUI_v3.9.jar非常简单好用,一键检测漏洞利用。
支持了六种nacos漏洞检测:

 
  1. Nacos控制台默认口令漏洞(nacos,nacos)

  2. Nacos token.secret.key默认配置(QVD-2023-6271)

  3. Nacos-client Yaml反序列化漏洞

  4. Nacos Derby SQL注入漏洞 (CNVD-2020-67618)

  5. Nacos未授权访问漏洞(CVE-2021-29441)

  6. Nacos Jraft Hessian反序列化漏洞(QVD-2023-13065)

图片

图片

2.可以利用存在的漏洞,任意添加用户

图片

六 修复建议

 
  1. 1.自行修改key

  2. 2.更新到最新版本

七 工具分享

 
  1. Nacos工具

  2. https://www.alipan.com/s/iVNZyoz3uWf

  3. 提取码: 59ew

 
  1. 工具地址

  2. https://github.com/charonlight/NacosExploitGUI

申明:本文所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/582205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记chrome的hackbar无法post php://input的问题

尽管hackbar支持post请求体,但是当请求体里面没有等于号的时候,无法post出去,这样如果需要使用php://input绕过waf的时候就没法做。 在开发人员工具的网络里面可以看到不使用等于号的情况下没有荷载。 之后在这里看到了解决方法,…

ctf_show(web入门笔记)持续更新中

信息收集 1-2:查看源代码 3:bp抓包 4:robots.txt(这个文件里会写有网站管理者不想让爬虫的页面或其他) 5:网站源代码泄露index.phps 6:同样也是源码泄露,(拿到以后还…

Python可视化之Matplotlib

文章目录 Matplotlib与可视化分析简单图形的绘制pylot的高级功能添加图例与注释 Matplotlib与可视化分析 我们之前对数据的处理与分析,其实最终还是要利用可视化工具进行更加直观的输出 我们开业通过 pip install matplotlib命令来安装对应的模块 简单图形的绘制…

【FileZilla】FileZilla的使用及主动模式与被动模式----图文并茂详细讲解

一 FileZilla的简介 1.1 是什么 一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。它具有可控性、有条理的界面和管理多站点的简化方式,使得FileZilla客户端版成为一个方便高效的FTP客户端工具。而FileZilla Serve…

TiDB在WMS物流系统的应用与实践 (转)

业务背景 北京科捷物流有限公司于2003年在北京正式成立,是ISO质量管理体系认证企业、国家AAAAA级物流企业、海关AEO高级认证企业,注册资金1亿元,是中国领先的大数据科技公司——神州控股的全资子公司。科捷物流融合B2B和B2C的客户需求,基于遍布全国的物流网络与自主知识产…

接口测试工具——ApiFox使用初体验 postman导出和ApiFox导入

目录 ApiFox使用初体验初步使用从postman导出到apifox导入 IDEA简单测试Postman测试工具post请求 接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参…

java设计模式学习之【中介者模式】

文章目录 引言中介者模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用聊天室示例代码地址 引言 想象一下一座忙碌的机场,各种飞机需要起飞、降落,而不同的飞行活动之间必须互不干扰。如果没有一个统一的控制系统,这将是一…

Python 爬取 哔站视频弹幕 并实现词云图可视化

嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境介绍: python 3.8 解释器 pycharm 编辑器 第三方模块: requests >>> pip install requests protobuf >>> pip install protobuf 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命…

【C++】开源:cpp-httplib HTTP协议库配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍cpp-httplib HTTP协议库配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&a…

C#中的Attribute详解(下)

C#中的Attribute详解(下) 一、Attribute本质二、Attribute实例化三、Attribute实例化的独特之处四、元数据的作用五、自定义Attribute实例六、Attribute的附着目标七、附加问题 一、Attribute本质 从上篇里我们可以看到,Attribute似乎总跟pu…

C# OpenCvSharp读取rtsp流录制mp4可分段保存

软件界面: 测试环境: VS2019 .NET Framework 4.7.2 OpencvSharp4.8.0 输入RTSP流地址即可拉取RTSP流,支持抓拍和录制RTSP流视频,且支持支持按固定时间保存,比如我想5分钟保存一个视频,设置保存间隔为30…

数据仓库 基本信息

数据仓库基本理论 数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support&#xff09…

中间件系列 - Redis入门到实战(高级篇-多级缓存)

前言 学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 JVM进程缓存Lua语法入…

相机内参标定理论篇------相机模型选择

相机种类&#xff1a; 当拿到一款需要标定内参的相机时&#xff0c;第一个问题就是选择那种的相机模型。工程上相机类型的划分并不是十分严格&#xff0c;一般来说根据相机FOV可以把相机大概分为以下几类&#xff1a; 长焦相机&#xff1a;< 标准相机&#xff1a;~&…

TCP状态转换/ 半连接/ 端口复用代码实现

三次挥手的时候的状态转换 TCP&#xff08;Transmission Control Protocol&#xff09;的三次握手是建立TCP连接的过程。在三次握手中&#xff0c;涉及到的状态转换如下&#xff1a; Closed&#xff08;关闭状态&#xff09;&#xff1a; 初始状态&#xff0c;表示没有任何连接…

uni-app condition启动模式配置

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

【论文阅读+复现】SparseCtrl: Adding Sparse Controls to Text-to-Video Diffusion Models

SparseCtrl:在文本到视频扩散模型中添加稀疏控制。 &#xff08;AnimateDiff V3&#xff0c;官方版AnimateDiffControlNet&#xff0c;效果很丝滑&#xff09; code&#xff1a;GitHub - guoyww/AnimateDiff: Official implementation of AnimateDiff. paper&#xff1a;htt…

javaWeb蛋糕商城(前后台) 2

目录 摘要 1 关键词 1 前言 2 第一章 绪论 3 1.1 选题背景 3 1.2 选题的目的和意义 3 第二章 关键技术介绍 4 2.1 JSP 4 2.2 JDBC 5 2.3 Servlet 5 2.4 MVC模式 5 2.5 Ajax 5 第三章 系统分析及设计 5 3.1 需求分析 5 3.1.1 任务概述 5 3.1.2 功能需求 6 3.1.3 其它需求 6 3.2…

射频PCB电路布局设计及布线注意事项

在电子产品和设备中&#xff0c;电路板是一个不可缺少的部件&#xff0c;它起着电路系统的电气和机械等的连接作用。如何将电路中的元器件按照一定的要求&#xff0c;在PCB上排列组合起来&#xff0c;是PCB设计师的主要任务之一。布局设计不是简单的将元器件在PCB上排列起来&am…

探究element-ui 2.15.8中<el-input>的keydown事件无效问题

一、问题描述 今天看到一个问题&#xff0c;在用Vue2element-ui 2.15.8开发时&#xff0c;使用input组件绑定keydown事件没有任何效果。 <template><div id"app"><el-input v-model"content" placeholder"请输入" keydown&quo…