[漏洞详情]
Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。若您Nacos未修改
secret.key,则攻击者可利用默认secret.key生成JWT Token,从而造成权限绕过访问到相关API接口。
Nacos 官方于 2023年3月2日发布 2.2.0.1
版本。该版本移除了默认鉴权插件中依赖的nacos.core.auth.plugin.nacos.token.secret.key默认值,在部署新版本时必须要输入自定义的有效token.secret.key
用于登陆后的accessToken生成。
修复建议
- 根据官方文档修改secret.key 为随机值,并注意保密。
- 升级至最新版本
修复过程
Nacos版本 2.2.0
修改Nacos配置文件
- secret.key 使用随机密码生成的Base64
- 开启鉴权:nacos.core.auth.enabled = true
修改项目配置
spring:
cloud:
nacos:
discovery:
password: nacos
username: nacos
server-addr: 127.0.0.1:8848
config:
password: nacos
username: nacos
server-addr: 127.0.0.1:8848
注册中心和配置中心用户名密码添加
启动服务
java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([localhost:8848]) tried: failed to req API:localhost:8848/nacos/v1/ns/instance. code:403 msg: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Tue Nov 08 15:00:14 CST 2022</div><div>There was an unexpected error (type=Forbidden, status=403).</div></body></html>
at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:464)
at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:386)
at com.alibaba.nacos.client.naming.net.NamingProxy.deregisterService(NamingProxy.java:205)
at com.alibaba.nacos.client.naming.NacosNamingService.deregisterInstance(NacosNamingService.java:244)
如果发现报403错误,是Nacos版本问题
过滤nacoa自带的client,引入新版本。
版本更新后就可以正常启动。
踩坑:
开启鉴权后,在Nacos管理端修改Nacos密码,点击提交会提示权限校验失败,但此时密码其实已经更改了。这块要注意。
学习计划安排
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!
如果你对网络安全入门感兴趣,那么你需要的话可以
点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析