【漏洞复现】Nacos未授权访问

本文详细介绍了Nacos系统中一个由于处理User-Agent不当导致的未授权访问漏洞,该漏洞允许攻击者无需认证即可获取敏感信息,包括节点数据和用户列表。通过复现步骤,展示了如何利用此漏洞创建用户并成功登录,强调了安全防护的重要性。同时,指出部分复现失败可能因请求路径不正确。

漏洞背景
2020年12月29日,Nacos官方在github发布的issue中披露Alibaba Nacos 存在一个由于不当处理User-Agent导致的未授权访问漏洞 。
漏洞复现
本地搭建
https://github.com/alibaba/nacos/releases/tag/2.0.0-ALPHA.1

 wget https://github.com/alibaba/nacos/releases/tag/2.0.0-ALPHA.1tar -zxvf nacos-server-2.0.0-ALPHA.1.tar.gz./startup.sh -m standalone

然后访问 http://ip:端口/nacos 即可,默认账号密码 nacos/nacos

前端访问一下地址试试是否存在未授权访问漏洞

http://xxx.xxx.xxx.xxx/v1/core/cluster/nodes?withInstances=false&pageNo=1&pageSize=10&keyword=

在这里插入图片描述
可以发现以及泄露了 ip节点 等数据 (证实是确实存在的)
我们试下访问用户列表

为什么是 /v1/auth/users ,而不是 /nacos/v1/auth/users

因为大部分企业都是 /v1/auth/users 这也就是为什么好多人没有复现成功的原因所在

v1/auth/users?pa
### Nacos 未授权访问漏洞解决方案 #### 修改配置文件 针对Nacos未授权访问漏洞,可以通过调整`application.properties`中的认证选项来增强安全性。具体操作为将`nacos.core.auth.enabled=false`更改为`true`,从而激活权限验证机制[^1]。 ```properties # application.properties 中的设置 nacos.core.auth.enabled=true ``` 此更改确保只有经过身份验证的用户才能执行敏感操作或获取受保护的数据资源。 #### 使用检测工具确认修复效果 为了进一步保障系统的安全性,在完成上述配置之后建议利用专门开发的安全测试软件来进行全面扫描。可以从指定链接下载名为`Alibaba-Nacos-Unauthorized.jar`的Java应用程序用于此类目的: https://gitee.com/kiang70/PocList/blob/main/Alibaba-Nacos-Unauthorized.jar 通过运行这个JAR包内的程序可以有效地识别并报告任何潜在的安全隐患,帮助管理员及时采取措施加以防范。 #### 调整应用层逻辑适应新策略 当启用了鉴权功能以后可能会遇到某些业务流程上的异常情况,比如HTTP状态码405(Method Not Allowed),这通常是因为客户端尝试发起不被允许的方法请求所引起的。此时应当审查现有API接口的设计以及对应的处理函数实现方式,必要时更新相关部分使之符合最新的安全标准。 例如可以在Spring Security框架下定义更加严格的路径匹配规则或者自定义过滤器链以拦截非法调用;也可以直接在控制器方法上添加适当注解限制可接受的动作类型等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值