解析Nacos的API居然存在这么严重的漏洞

2023-02-23 0 338

目录

很多人使用Nacos其实并没有真正的去读过官网,以至于忽视了很多重要的细节,Nacos为我们提供了大量API,但是这些API默认是没有开启认证的,直接可以访问,针对于这一点我们也都可以去验证一下。下面我提供了两个调用示例供大家参考,基于这一点Nacos登录页也明确提示Nacos部署到内网,不要部署到公网,但是对于没真正了解过Nacos,压根也不知道有这个API,也不知道有开启授权这回事,所以也就意识不到这个API暴露出去后果到底有多么严重!
官网API:https://nacos.io/zh-cn/docs/open-api.html
解析Nacos的API居然存在这么严重的漏洞

仔细看我们下载的nacos的登录页面,有一个特别大的红字,内部系统,不可暴露到公网。所以nacos一旦部署在公网,风险非常大!

解析Nacos的API居然存在这么严重的漏洞

一、调用API示例

1.1. 示例一:获取配置

curl -X GET \"http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos-config-client-dev-yaml&group=DEFAULT_GROUP\"

如下配置是我们要获取的配置:
解析Nacos的API居然存在这么严重的漏洞
解析Nacos的API居然存在这么严重的漏洞
开始访问:
解析Nacos的API居然存在这么严重的漏洞

会发现直接通过API就可以拿到,而且API没有任何认证,我认为这是一个很大的问题,那也就是意味着只要我知道你Nacos部署的地址以及端口,我就可以拿到你的配置。

我们有时候会往nacos当中存储一些数据库相关信息,一旦被盗窃,后果不堪设想。当然还好获取配置的API当中没有namespace参数,他只能查看public的。但是对于服务发现相关的API还有命名空间相关API他是提供了namespace参数的

1.2. 示例二:删除命名空间

解析Nacos的API居然存在这么严重的漏洞
这里我专门创建了一个test命名空间,并且空间还有配置文件。
解析Nacos的API居然存在这么严重的漏洞
直接调用会惊讶的发现,竟然可以删除成功,而且还没有携带任何token什么的。
curl -X DELETE \"http://localhost:8848/nacos/v1/console/namespaces\" -d \"namespaceId=test\"

解析Nacos的API居然存在这么严重的漏洞
然后再去查看会发现test命名空间已经没有了。
解析Nacos的API居然存在这么严重的漏洞

这个问题就比较严重了,要知道我们系统当中都会依赖配置文件,一旦配置文件都被人删除了,后果是什么应该就不用我说了吧。

1.3. 示例三:获取登录用户信息

http://127.0.0.1:8848/nacos/v1/auth/users/?pageNo=1&pageSize=9
解析Nacos的API居然存在这么严重的漏洞

1.4. Nacos及时响应此问题

bug描述:https://github.com/advisories/GHSA-36hp-jr8h-556f
Nacos官网声明在2021年一月份发布的1.4.1版本修复了此问题:https://github.com/alibaba/nacos/pull/4703

在Nacos低版本当中,如上确实是一个bug,但是后来呢,Nacos针对于此也特意加了一个开关,用来控制是否鉴权。

不管怎么说,我们一定要尽量用最新的版本,因为Nacos其实版本之间变化相对来说没那么大,就算升级版本也很少会影响到我们自己的代码。

二、服务端如何开启鉴权?

官网介绍:https://nacos.io/zh-cn/docs/auth.html
解析Nacos的API居然存在这么严重的漏洞
官网给我们提供了Docker环境以及非Docker环境开启鉴权的方式。
非Docker环境直接修改application.properties当中的如下参数:
### If turn on auth system:
nacos.core.auth.enabled=true

注意:非Docker环境 鉴权开关是修改之后立马生效的,不需要重启服务端。

Docker环境直接启动命令当中添加如下参数即可:
-env NACOS_AUTH_ENABLE=true

开启后再访问API直接会403!
解析Nacos的API居然存在这么严重的漏洞
如果再想访问API需要先访问登录接口,获取到token,然后将token携带到参数访问即可,如下:
解析Nacos的API居然存在这么严重的漏洞

三、开启服务身份识别功能

这个主要是针对于Nacos集群而来的,开启鉴权功能后,服务端之间的请求也会通过鉴权系统的影响。我理解的就是将每个集群的节点设置的identity.keyidentity.value设置为一样的,这样就认为鉴权通过了。
解析Nacos的API居然存在这么严重的漏洞

资源下载此资源下载价格为1小猪币,终身VIP免费,请先
由于本站资源来源于互联网,以研究交流为目的,所有仅供大家参考、学习,不存在任何商业目的与商业用途,如资源存在BUG以及其他任何问题,请自行解决,本站不提供技术服务! 由于资源为虚拟可复制性,下载后不予退积分和退款,谢谢您的支持!如遇到失效或错误的下载链接请联系客服QQ:442469558

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 PHP教程 解析Nacos的API居然存在这么严重的漏洞 http://www.20zxx.cn/585619/xuexijiaocheng/qes.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务