假设用户的输入中包含${payload},则SpEL第一次message解析成${payload}之后,解析引擎进行递归,去掉${和}后将payload传入SpEL引擎,SpEL引擎将将直接对payload进行解析,从而触发了漏洞,触发点如下图所示。 0x02调试分析# 先搭好存在漏洞的SpringBoot版本的环境,使用其自带的sample搭建一个服务器,然后自己写一个控制器,...
下载链接:https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-spel-rce 用idea打开之后配置一下,如下图: 然后启动访问出现如下页面,代表搭建成功。 漏洞复现 访问:http://localhost:9091/article?id=9∗9,可以发现{9*9}的SpEL表达式进行了解析,随后将该表达式的运行的结果进行了...
漏洞存在点:/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ErrorMvcAutoConfiguration.java 这是一个自动配置类,既然是SpEL漏洞,那么这个配置类中进行是进行了相关的表达式解析才导致的。 这里就直接在控制器中进行下断点来跟,也就是如下的地方 mv = ha.handle(processedRequest,...
一节课带你掌握 SpEL 表达式注入漏洞本节课透过基础,深入原理讲解 SpEL 表达式注入漏洞。并搭配SpringBoot Whitelabel Error Page SpEL 表达式注入漏洞,进一步讲解实战中挖掘 SpEL 表达式注入漏洞的方式方法。调试这个漏洞时还差点翻车,到底怎么回事,速来看!想系统化学
SpringBoot框架SpEL表达式注入漏洞复现与原理分析 前言 这是2016年的一个洞,利用条件是至少知道一个触发 springboot 默认错误页面的接口及参数名。 影响版本:1.1.0-1.1.12 1.2.0-1.2.7 1.3.0 修复方案:升级版本 环境搭建 下载链接:https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository...
漏洞发布地址 nvd.nist.gov/vuln/detai 漏洞安全级别 高 漏洞代码仓地址 github.com/spring-cloud 漏洞补丁提交地址 github.com/spring-cloud 漏洞影响包版本 3.0.0 <= Spring Cloud Function <= 3.2.2 3.1.2 Spring Cloud Function 介绍Spring Cloud Function 是基于 Spring Boot 的函数计算框架。它提供了一个...
SpringBoot框架SpEL表达式注入漏洞复现与原理分析 小艾 关注 漏洞 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8...
1.1 漏洞背景 Spring是Java EE编程领域的一个轻量级开源框架,Spring Cloud Function 是基于 Spring Boot 的函数计算框架,其抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。 1.2 漏洞原理 该漏洞是由于Spring Cloud Fun...
在版本3.0.0到当前最新版本3.2.2(commit dc5128b),默认配置下,都存在Spring Cloud Function SpEL表达式注入漏洞。 漏洞复现 在IDEA中选择新建项目,然后选择Spring Initializr,输入随机项目名称,然后选择java版本和jdk版本后点击下一步。 选择Spring Web和Function作为依赖项,点击完成。 漏洞环境就搭建完成。因当前官方还...