vulhub-漏洞复现(Spring Data Rest 远程命令执行漏洞(CVE-2017-8046))

一、Spring Data Rest简介

Spring Data REST是一个构建在Spring Data之上,为了帮助开发者更加容易地开发REST风格的Web服务。在REST API的Patch方法中(实现RFC6902),path的值被传入setValue,导致执行了SpEL表达式,触发远程命令执行漏洞

二、靶场环境启动:sudo docker-compose up -d

三、访问漏洞地址,返现spring接口

四、抓包

五、修改请求包头为PATCH ,

Content-Type: application/json-patch+jsonnew byte[]{command}:command为我们要执行的命令的十进制数。

影响范围

        受影响的版本

Spring Data REST versions < 2.5.12, 2.6.7, 3.0 RC3

Spring Boot version < 2.0.0M4

Spring Data release trains < Kay-RC3

        不受影响的版本

Spring Data REST 2.5.12, 2.6.7, 3.0RC3

Spring Boot 2.0.0.M4

Spring Data release train Kay-RC3

### Vulhub靶场中CVE漏洞复现方法 #### 准备工作 为了在Vulhub靶场中成功复现CVE漏洞,需先搭建好环境。这通常涉及安装Docker以及配置网络设置以确保攻击机和靶机能相互通信[^1]。 对于具体的漏洞复现案例,比如MySQL类型的CVE-2012-2122,在开始之前要确认已经按照官方文档完成了必要的准备工作,包括但不限于正确设置了Docker版本和支持组件;同时也要注意检查目标系统的内核参数是否满足实验需求[^3]。 #### 复现流程概述 当准备就绪后,可以通过如下方式启动特定的漏洞场景: 1. **获取并构建镜像** 使用`git clone`命令下载Vulhub项目仓库到本地计算机上; 接着进入对应目录下(例如针对某个具体应用),通过执行`docker-compose up -d`来拉取所需的基础镜像并完成服务部署。 2. **验证环境状态** 利用`docker ps`查看正在运行的服务实例列表,确保所选的应用程序已被正常加载且处于监听状态。 3. **实施攻击测试** 根据选定的CVE编号查阅相关资料了解其利用原理和技术细节,然后编写相应的脚本或手动操作尝试触发该缺陷。例如,在处理Webmin(CVE-2019-15107)时可能会采用反向Shell的方式建立远程控制连接[^5]。 4. **分析结果反馈** 成功触发漏洞之后应当仔细观察系统行为变化,并收集日志文件用于后续研究学习。如果遇到困难,则可参照社区分享的经验贴寻求解决方案。 ```bash # 下载Vulhub项目 git clone https://github.com/vulhub/vulhub.git # 启动指定漏洞环境 cd vulhub/<app_name> docker-compose up -d ``` #### 实际例子说明 以ActiveMQ为例[CVE-2017-3066],此漏洞允许未经身份验证的用户发送恶意JMS消息从而实现任意代码执行。为重现这一过程,除了上述通用步骤外还需要特别关注如何构造有效的payload数据包以便于被服务器端解析成危险指令集。 同样地,在探讨Confluence相关的多个CVE条目时,如CVE-2023-26360, CVE-2023-29300等,重点在于理解各自影响范围内的功能模块特性及其可能存在的安全隐患点,进而设计针对性强的有效负载来进行实战演练[^2]。 #### 注意事项 在整个过程中务必保持谨慎态度对待网络安全法规和个人隐私保护政策,仅限于合法授权范围内开展此类实践活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值