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

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到最新版

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 大工程师插件下载 官方地址
  • 【数据结构】十大经典排序算法总结与分析
  • Vue3.0组合式API:computed计算属性、watch监听器、watchEffect高级监听器
  • C++ 常用设计模式
  • 有源滤波器UAF42
  • Golang协程泄漏定位和排查
  • 项目小总结
  • 在CentOS上搭建NFS服务器
  • rtmp推流
  • yolov8多任务模型-目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程
  • 硬件工程师笔试面试——变压器
  • OpenAl o1论文:Let’s Verify Step by Step 快速解读
  • 模版进阶(template)
  • MySQL行转列
  • 聊聊Netty对于内存方面的优化
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • C++入门教程(10):for 语句
  • eclipse(luna)创建web工程
  • emacs初体验
  • Joomla 2.x, 3.x useful code cheatsheet
  • js 实现textarea输入字数提示
  • Js基础——数据类型之Null和Undefined
  • linux安装openssl、swoole等扩展的具体步骤
  • nfs客户端进程变D,延伸linux的lock
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • spark本地环境的搭建到运行第一个spark程序
  • vue中实现单选
  • 复习Javascript专题(四):js中的深浅拷贝
  • 实现菜单下拉伸展折叠效果demo
  • 06-01 点餐小程序前台界面搭建
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #pragma 指令
  • #知识分享#笔记#学习方法
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (function(){})()的分步解析
  • (分布式缓存)Redis分片集群
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .Net 6.0 处理跨域的方式
  • .NET IoC 容器(三)Autofac
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .net反编译的九款神器
  • /tmp目录下出现system-private文件夹解决方法
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [000-002-01].数据库调优相关学习
  • [12] 使用 CUDA 进行图像处理
  • [20190113]四校联考