0x0 背景
Spring Cloud Function 是基于Spring Boot 的函数计算框架(FaaS),当其启用动态路由functionRouter时, HTTP请求头 spring.cloud.function.routing-expression参数存在SPEL表达式注入漏洞,攻击者可通过该漏洞进行远程命令执行。主要影响的版本包括 3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
0x1 本地环境搭建
简单了解了一下FaaS的的函数交付模式,和之前研究的容器安全场景下的微服务架构非常的契合,以往的大多数环境主要通过虚拟机交付逐渐演变了成了VPS、容器、API到现在的函数即服务;资产被更加充分的利用,为此本地以Jdk1.8的环境,IDE用了IntelliJ IDEA搭建一个漏洞环境;
首先需要创建一个项目文件,选择Spring Initalizr;需要事先配置好项目Java环境,避免后续build的时候需要用到tools.jar和dt.jar