CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞
一、背景介绍
ProxyCommand 是 OpenSSH ssh_config 文件中的一个配置选项,它允许通过代理服务器建立 SSH 连接,从而在没有直接网络访问权限的情况下访问目标服务器。这对于需要经过跳板机、堡垒机或代理服务器才能访问的目标主机非常有用。
二、漏洞简介
ssh_config文件中的ProxyCommand、LocalCommand指令或"match exec"谓词通过%u、%h或类似的扩展标记引用用户或主机名时,可能会导致命令注入的风险。
在Git中,用户或主机名中的shell元字符未被禁止(如在主机名中进行命令拼接),这可能导致存储库包含一个带有shell元字符的子模块用户或主机名。这种情况可能引发命令注入漏洞。
三、影响版本
OpenSSH < 9.6
四、漏洞复现
1、复现版本

2、配置SSH规则
在~/.ssh/config中配置如下规则
host *.example.comProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p

这条配置意为:对于所有以.example.com结尾的主机,通过地址为192.0.2.0、端口为8080的代理服务器连接到目标主机。
3、命令执行
使用命令
git clone https://github.com/zls1793/CVE-2023-51385_test --recurse-submodules

https://github.com/zls1793/CVE-2023-51385_test?tab=readme-ov-file
项目结构为:

其中.gitmodules如下:

git的submodule是一个被仓库包含的子仓库,图中的url本应指向该子仓库的地址
git clone执行后效果如图

五、漏洞修复
升级至OpenSSH 9.6p1
水平有限,分析开摆
相关文章:
CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞
一、背景介绍 ProxyCommand 是 OpenSSH ssh_config 文件中的一个配置选项,它允许通过代理服务器建立 SSH 连接,从而在没有直接网络访问权限的情况下访问目标服务器。这对于需要经过跳板机、堡垒机或代理服务器才能访问的目标主机非常有用。 二、漏洞简…...
如何寻找到相对完整的真正的游戏的源码 用来学习?
在游戏开发的学习之路上,理论与实践是并重的两个方面。对于许多热衷于游戏开发的学习者来说,能够接触到真实的、完整的游戏源码无疑是一个极好的学习机会。但问题来了:我们该如何寻找到这些珍贵的资源呢? 开源游戏项目 GitHub:地…...
数模学习day11-系统聚类法
本文参考辽宁石油化工大学于晶贤教授的演示文档聚类分析之系统聚类法及其SPSS实现。 目录 1.样品与样品间的距离 2.指标和指标间的“距离” 相关系数 夹角余弦 3.类与类间的距离 (1)类间距离 (2)类间距离定义方式 1.最短…...
SpringBoot+Redis实现接口防刷功能
场景描述: 在实际开发中,当前端请求后台时,如果后端处理比较慢,但是用户是不知情的,此时后端仍在处理,但是前端用户以为没点到,那么再次点击又发起请求,就会导致在短时间内有很多请求…...
TensorRT加速推理入门-1:Pytorch转ONNX
这篇文章,用于记录将TransReID的pytorch模型转换为onnx的学习过程,期间参考和学习了许多大佬编写的博客,在参考文章这一章节中都已列出,非常感谢。 1. 在pytorch下使用ONNX主要步骤 1.1. 环境准备 安装onnxruntime包 安装教程可…...
springboot常用扩展点
当涉及到Spring Boot的扩展和自定义时,Spring Boot提供了一些扩展点,使开发人员可以根据自己的需求轻松地扩展和定制Spring Boot的行为。本篇博客将介绍几个常用的Spring Boot扩展点,并提供相应的代码示例。 1. 自定义Starter(面试常问) Sp…...
19道ElasticSearch面试题(很全)
点击下载《19道ElasticSearch面试题(很全)》 1. elasticsearch的一些调优手段 1、设计阶段调优 (1)根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索引; (…...
向爬虫而生---Redis 拓宽篇3 <GEO模块>
前言: 继上一章: 向爬虫而生---Redis 拓宽篇2 <Pub/Sub发布订阅>-CSDN博客 这一章的用处其实不是特别大,主要是针对一些地图和距离业务的;就是Redis的GEO模块。 GEO模块是Redis提供的一种高效的地理位置数据管理方案,它允许我们存储和查询…...
Vue项目里实现json对象转formData数据
平常调用后端接口传参都是json对象,当提交表单遇到有附件需要传递时,通常是把附件上传单独做个接口,也有遇到后端让提交接口一并把附件传递到后端,这种情况需要把参数转成formData的数据,需要用到new FormData()。json…...
leetcode刷题记录
栈 2696. 删除子串后的字符串最小长度 哈希表 1. 两数之和 用map来保存每个数和他的索引 383. 赎金信 用map来存储字符的个数 链表 2. 两数相加 指针的移动 动态规划 53. 最大子数组和 2707. 字符串中的额外字符 递归 101. 对称二叉树 数学 1276. 不浪费原料的汉堡…...
SpringMVC通用后台管理系统源码
整体的SSM后台管理框架功能已经初具雏形,前端界面风格采用了结构简单、 性能优良、页面美观大的Layui页面展示框架 数据库支持了SQLserver,只需修改配置文件即可实现数据库之间的转换。 系统工具中加入了定时任务管理和cron生成器,轻松实现系统调度问…...
深度解析Dubbo的基本应用与高级应用:负载均衡、服务超时、集群容错、服务降级、本地存根、本地伪装、参数回调等关键技术详解
负载均衡 官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/loadbalance/ 如果在消费端和服务端都配置了负载均衡策略, 以消费端为准。 这其中比较难理解的就是最少活跃调用数是如何进行统计的? 讲道理, 最少活跃数…...
备战2024美赛数学建模,文末获取历史优秀论文
总说(历年美赛优秀论文可获取) 数模的题型千变万化,我今天想讲的主要是一些「画图」、「建模」、「写作」和「论文结构」的思路,这些往往是美赛阅卷官最看重的点,突破了这些点,才能真正让你的美赛论文更上…...
Java加密解密大全(MD5、RSA)
目录 一、MD5加密二、RSA加解密(公加私解,私加公解)三、RSA私钥加密四、RSA私钥加密PKCS1Padding模式 一、MD5加密 密文形式:5eb63bbbe01eeed093cb22bb8f5acdc3 import java.math.BigInteger; import java.security.MessageDigest; import java.security…...
C语言程序设计考试掌握这些题妥妥拿绩点(写给即将C语言考试的小猿猴们)
目录 开篇说两句1. 水仙花数题目描述分析代码示例 2. 斐波那契数列题目描述分析代码示例 3. 猴子吃桃问题题目描述分析代码示例 4. 物体自由落地题目描述分析代码示例 5. 矩阵对角线元素之和题目描述分析代码示例 6. 求素数题目描述分析代码示例 7. 最大公约数和最小公倍数题目…...
编译ZLMediaKit(win10+msvc2019_x64)
前言 因工作需要,需要ZLMediaKit,为方便抓包分析,最好在windows系统上测试,但使用自己编译的第三方库一直出问题,无法编译通过。本文档记录下win10上的编译过程,供有需要的小伙伴使用 一、需要安装的软件…...
JS-基础语法(一)
JavaScript简单介绍 变量 常量 数据类型 类型转换 案例 1.JavaScript简单介绍 JavaScript 是什么? 是一种运行在客户端(浏览器)的编程语言,可以实现人机交互效果。 JS的作用 JavaScript的组成 JSECMAScript( 基础语法 )…...
18款Visual Studio实用插件(更新)
前言 俗话说的好工欲善其事必先利其器,安装一些Visual Studio实用插件对自己日常的开发和工作效率能够大大的提升,避免996从选一款好的IDE实用插件开始。以下是我认为比较实用的Visual Studio插件希望对大家有用,大家有更好的插件推荐可在文…...
三、java线性表(顺序表、链表、栈、队列)
java线性表 三、线性表1.1 顺序表1.2 链表1.2.1 单向链表(Singly Linked List)1.2.2 双向链表(Doubly Linked List) 1.3 LinkedList VS ArrayList1.3.7 使用 LinkedList 的场景 1.4 栈1.5 队列 三、线性表 线性表是一种经典的数据…...
PiflowX-MysqlCdc组件
MysqlCdc组件 组件说明 MySQL CDC连接器允许从MySQL数据库读取快照数据和增量数据。 计算引擎 flink 组件分组 cdc 端口 Inport:默认端口 outport:默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子hostnameHostname“”无是MySQL…...
20吨燃气蒸汽锅炉实力厂家/支持上门安装调试
燃气蒸汽锅炉,认准源头实力厂家,不仅能买到品质过硬的设备,更能享受到省心便捷的上门安装调试服务,免去自行安装的繁琐与隐患,让设备快速投入平稳运行。我们作为深耕锅炉制造行业的实力厂家,具备正规生产资…...
LongCat-Image-Editn部署案例:中小企业低成本AI修图方案,替代Photoshop高频操作
LongCat-Image-Editn部署案例:中小企业低成本AI修图方案,替代Photoshop高频操作 重要提示:本文所有操作均在合规合法的网络环境下进行,所有技术方案均符合相关法律法规要求。 1. 引言:中小企业修图痛点与解决方案 对于…...
手把手教你学Simulink——基于Simulink的同步整流Buck变换器效率提升仿真
目录 手把手教你学Simulink——基于Simulink的同步整流Buck变换器效率提升仿真 摘要 一、背景与挑战 1.1 传统二极管整流的效率瓶颈 1.1.1 二极管损耗机理 1.2 同步整流的优势与挑战 1.2.1 同步整流原理 1.2.2 核心挑战 1.3 设计目标 二、系统架构与…...
基于vue+springboot框架的同城宠物照看数据可视化分析系统的设计与实现
目录技术选型与框架搭建核心功能模块设计开发阶段划分关键代码示例(简化版)测试与部署项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型与框架搭建 前端:Vue 3 TypeScript ECharts …...
别再让时钟信号‘跑偏’了!手把手教你理解ADC中DCC电路的设计要点
高速ADC设计中的时钟占空比校正实战指南 时钟信号就像ADC系统的心跳,每一次跳动都决定着数据采样的精准度。当这个"心跳"变得不规律时,整个系统的性能就会大打折扣。在高速ADC设计中,时钟占空比失真是一个常见却又容易被忽视的问题…...
STM32 GPIO模式实战:开漏输出与推挽输出的5个常见应用场景解析
STM32 GPIO模式实战:开漏输出与推挽输出的5个常见应用场景解析 在嵌入式开发中,GPIO(通用输入输出)是最基础也是最常用的外设之一。STM32系列微控制器提供了多种GPIO模式,其中开漏输出(Open-Drainÿ…...
滞回比较器设计实战:从理论到参数优化
1. 滞回比较器基础:从门铃到航天器的抗噪神器 第一次接触滞回比较器是在大学电子设计课上,当时教授用一个生动的例子开场:"想象你家的门铃——如果它对任何风吹草动都响个不停,你会疯掉;但如果连用力敲门都没反应…...
停车场、门禁、移动执法…聊聊C#车牌识别系统在不同业务场景下的‘调教’心得
停车场、门禁、移动执法:C#车牌识别系统的场景化调优实战 当车牌识别系统从实验室走向真实业务场景,开发者往往会发现一个残酷的现实:那些在标准测试集上表现优异的模型,一旦部署到实际环境中,识别率可能断崖式下跌。我…...
Java Web 新冠物资管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
摘要 新冠疫情的爆发对全球公共卫生体系提出了严峻挑战,物资管理成为疫情防控中的关键环节。传统物资管理方式依赖人工操作,效率低下且易出错,难以应对突发公共卫生事件中的大规模物资调配需求。为解决这一问题,新冠物资管理系统应…...
机器人路径规划算法之VFH算法详解+MATLAB代码实现
目录 一、 运作原理:三步把地图变成方向 1. 建图:构建直方图网格(Histogram Grid) 2. 降维:生成极坐标直方图(Polar Histogram) 3. 决策:代价函数与山谷选择 二、 算法演进&…...
