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

Nacos未授权访问

Nacos未授权访问

靶机地址: 192.168.142.112
在这里插入图片描述

知识点

Jwt(json web token): 定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任。

当用户通过服务端的校验之后,服务端会根据用户的用户名和密码去查用户的信息,例如:用户id、用户手机号等,再通过jwt的方式生成一个token,token中包含用户的信息,下次用户的所有请求都会带着token到达服务端,服务端从token里解析出来用户的信息,基于这些信息,认证用户成功登录后再执行之后的业务。

Jwt由Header头部、Payload负载、Signature签名组成,它们之间用圆点(.)连接。

使用https://jwt.io/可以对jwt信息进行解码
在这里插入图片描述

Nacos访问认证绕过:

cat nacos/conf/application.properties|grep “key”在application.properties文件中查找key
在这里插入图片描述
该key值固定,在nacos使用jwt构造认证token,使用HS256算法,把配置文件中nacos.core.auth.plugin.nacos.token.secret.key的默认值当作私钥生成Signature,将用户名和时间戳写到jwt token里,所以可以在登录时对accessToken进行伪造,从而实现访问认证绕过

复现

搭建好本地靶场,访问http://192.168.142.112:8848/nacos/#/login登录界面(8848为nacos服务默认端口)

在这里插入图片描述

使用用户名nacos、密码nacos进行登录,使用burp获取数据包,成功登录后会返回Authorization,accessToken作为用户登录凭证
在这里插入图片描述

复制保存Authorization:Bearer

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5NDYxNzAzNX0.g8rgWYSiZgwhMgfyLHqLl4EUdipye9hAwHrWocJqsjA

退出nacos登录,使用任意账户密码试图登录,抓包修改数据
在这里插入图片描述

在数据包加上Authorization后,点击转发,成功登录,且为超级管理员权限
在这里插入图片描述

修复方式

  1. 修改配置文件中的nacos.core.auth.plugin.nacos.token.secret.key默认值

  2. 升级nacos到最新版


http://www.kler.cn/a/310167.html

相关文章:

  • 16008.行为树(五)-自定义数据指针在黑板中的传递
  • go T 泛型
  • 修改Mysql 8 的密码
  • 实现3D热力图
  • 11 go语言(golang) - 数据类型:结构体
  • GFPS技术原理(四)GATT特征值
  • 情感计算领域可以投稿的期刊与会议
  • C++ | Leetcode C++题解之第415题字符串相加
  • .NET 框架版本年表
  • ChatGPT对话训练数据采集渠道有哪些
  • JavaScript 的 DOM 技术
  • 如何划分 PostgreSQL 数据库权限
  • BOE(京东方)领先科技赋能体育产业全面向新 以击剑、电竞、健身三大应用场景诠释未来健康运动新生活
  • AI之所以会具有巨大的作用,体现在它对于产业的深度影响和改造上
  • FEAD:fNIRS-EEG情感数据库(视频刺激)
  • 83.static关键字
  • 《Effective C++》第三版——构造、析构、赋值运算
  • 视频美颜SDK与直播美颜工具的实现原理与优化方案
  • JS 常见的排序算法及比较
  • 进程优先级和环境变量
  • 【算法】BFS系列之 FloodFill 算法
  • 算法:TopK问题
  • IMS中的号码规整 5G注册流程中的语音相关参数
  • Java | Leetcode Java题解之第414题第三大的数
  • LEETCODE 每日一题 (单调栈 +滑动窗口模拟)
  • 【H2O2|全栈】关于CSS(6)CSS基础(五)