Spring Data REST是一个构建在Spring Data之上,为了帮助开发者更加容易地开发REST风格的Web服务。在REST API的Patch方法中,path的值被传入setValue,导致执行了SpEL表达式,触发远程命令执行漏洞。 环境搭建 cdspring/CVE-2017-8046 docker-compose up -d 等待环境启动完成,然后访问即可看到json格式的返回值,说明这是一...
pivotal Spring Data REST < 2.5.12 2.6.7 3.0 RC3 pivotal Spring Boot < 2.0.0M4 pivotal Spring Data < Kay-RC3 复现过程 1. 进入vulhub目录:spring/CVE-2017-8046,启动docker容器 2.发送如下请求,利用SpEL表达式执行恶意代码: 3.查看结果,恶意代码执行成功 这里的SpEL用的就是基础知识里面提到的第二种使...
Git地址:https://github.com/spring-projects/spring-data-rest 漏洞来源:https://pivotal.io/security/cve-2017-8046 影响版本: Spring Data REST versions 2.5.12, 2.6.7, 3.0 RC3之前的版本 Spring Boot versions 2.0.0M4 之前的版本 Spring Data release trains Kay-RC3 之前的版本 漏洞发现者 This vulnera...
本文分析的CVE-2017-8046同样也与SpEL有关。如果急于查看自己的应用是否受影响和修复建议,请查看官方公告,或者跳至0x07漏洞修复。 Spring Data REST简介 Spring Data REST是Spring Data的一个子项目。关于Spring Data,引用官方介绍如下: > Spring Data’s mission is to provide a familiar and consistent, Spring-...
Spring Data Rest是Spring Data框架的其中一个组件,Spring Data Rest可构建Rest Web,Spring Data Rest对PATCH方法处理不当,导致攻击者能够利用JSON数据造成RCE。本质还是因为Spring的SPEL解析导致的RCE。 02 源码分析 webmvc.config.PersistentEntityResourceHandlerMethodArgumentResolver类的处理patch请求的read方法,如下图所...
简而言之,就是Spring Data REST对PATCH方法处理不当,导致攻击者能够利用JSON数据造成RCE。本质还是因为spring的SPEL解析导致的RCE。 环境搭建 关于Spring Data REST可以参考Guides,但是本人在按照这个教程搭建出现了问题,所以建议大家看看这个引导,但是漏洞环境的搭建没有必要参考这个。
Spring Data REST对PATCH方法处理不当,导致攻击者能够利用JSON数据造成RCE。本质还是因为spring的SPEL解析导致的RCE 科普 HTTP-PATCH 必须指定Content-Type指定为application/json-patch+json 请求数据必须是json数组 部署环境 docker pull registry.cn-shanghai.aliyuncs.com/yhskc/spring-data-rest ...
漏洞信息 CVE-2017-8046: RCE in PATCH requests in Spring Data REST 这个Spring高危漏洞,你修补了吗?– 其河@美团点评技术团队 获取环境: 拉取镜像到本地 $docker pull medicean/vulapps:s_spring_1 启动环境 $docker run-d-p8080:8080 medicean/vulapps:s_spring_1 ...
SpringData是一个数据访问框架,它基于Spring实现,旨在提供一致的数据库访问模型,同时仍然保留不同数据库底层数据存储的特点。 01 漏洞描述 Spring Data Rest是Spring Data框架的其中一个组件,Spring Data Rest可构建Rest Web,Spring Data Rest对PATCH方法处理不当,导致攻击者能够利用JSON数据造成RCE。本质还是因为Spring...
翻译自:https://lgtm.com/blog/spring_data_rest_CVE-2017-8046_ql 翻译:聂心明 在这篇文章中,我将介绍Spring Data REST远程命令执行漏洞并且我将展示如何使用ql帮助保证漏洞得到正确的修复。 漏洞详情 这个漏洞( CVE-2017-8046https://pivotal.io/security/cve-2017-8046)它通过发送PATCH请求,并且数据包里面带有...