Nacos登录绕过漏洞

 人参与 | 时间:2026-10-17 07:29:57

Nacos的登洞控制台登录页,看起来人畜无害。录绕一个用户名框,过漏一个密码框,登洞一个登录按钮。录绕但就在2021年初,过漏安全圈炸了锅——这个页面根本不需要密码,登洞攻击者只需要在用户名栏输入一个特殊构造的录绕字符串,就能直接撕开认证层,过漏以管理员身份接管整个配置中心。登洞

漏洞出在Nacos的录绕User-Agent过滤机制上。开发团队本意是过漏好的,想给某些内部系统开个后门,登洞允许特定UA直接绕过登录。录绕结果这个白名单写得太宽泛,过漏导致任意UA只要包含特定字符段就能蒙混过关。更讽刺的是,这处逻辑错误在代码仓库里躺了将近一年,直到有人把利用方式发到了GitHub上。

我实际复现过一次。打开登录页,抓包,把User-Agent改成`Nacos-Server`,转发请求——服务器直接返回了token。整个过程不超过五秒,没有任何交互验证码,没有IP限制,连失败尝试的日志都没打。那一刻你才真正理解什么叫“裸奔”。

影响范围远不止登录绕过本身。攻击者拿到控制台权限后,能读取所有配置文件里的数据库密码、Redis连接串、消息队列密钥。这些配置通常以明文存储,等于把整个微服务架构的家底全抖了出来。更恶心的是,攻击者还能修改配置并推送,让服务动态加载恶意逻辑——这已经不是窃取数据,而是直接植入木马。

官方在1.4.1版本里修复了这个问题,但修复方式有点粗暴——直接删掉了那个UA白名单功能。很多老用户升级后才发现,自己原本依赖的自动化运维脚本全废了。这里就暴露了一个典型的开发窘境:为了便利性开的口子,最终成了最致命的裂缝。

有意思的是,这个漏洞被曝光后,不少企业的应急响应流程依然慢得离谱。我见过某家金融机构,漏洞公开两周后仍在使用受影响版本,理由是“需要走变更审批流程”。直到安全团队用POC脚本登录了他们的测试环境,才连夜打补丁。你说这是技术问题,还是流程僵化的问题?

现在回看,Nacos登录绕过算不上什么高级攻击手法。它连注入都不用,纯粹是逻辑漏洞。但它的杀伤力提醒了所有中间件开发者:任何“内部专用”的旁路机制,都必须经过严格的安全评审。哪怕你只是加一个UA判断,也等于在城墙上开了扇暗门——你永远不知道谁会找到这扇门,更不知道门后面锁着多少值钱的东西。

如果你还在用Nacos,赶紧查版本。低于1.4.1的,别犹豫,立刻升级。同时检查一下现有配置文件的加密强度——毕竟,就算补上了认证漏洞,明文存储的敏感信息依然是悬在头顶的剑。安全这行当,偷懒一时爽,出事火葬场。

顶: 1踩: 93