Spring Cloud Function 是一个基于 Spring Cloud 的新特性,它提供了一种函数式编程的模型,使得您可以使用任何编程语言编写微服务。这种模型允许您将应用程序拆分成一系列独立的函数,每个函数都负责处理特定的业务逻辑。这种拆分方式使得应用程序更加模块化、可扩展和易于维护。要开始使用 Spring Cloud Function,您需要
spring.cloud.config.server.git.uri=https://gitee.com/Fang_zhu/file-online-preview #分支 spring.cloud.config.label=master #git仓库地址下的相对地址 多个用逗号","分割。 spring.cloud.config.server.git.search-paths=/blob/master/gittest.properties,/blob/master/README.md #git仓库的账户 spring.cloud...
看一眼POC就知道其实就是简单的在请求的headers头上添加一个spring.cloud.function.routing-expression参数 SpringCloud Function会直接将其参数内容直接带入到SPEL中查询,造成SPEL漏洞注入。 漏洞分析 漏洞是出在SpringCloud Function的RoutingFunction功能上,其功能的目的本身就是为了微服务应运而生的,可以直接通过HTTP请求...
这些函数被注册为 Spring 的 Bean,可以在应用程序中被其他组件使用,特别是在使用 Spring Cloud Function 时,可以通过FunctionCatalog动态查找和调用这些函数。 packagecom.et.function; importjava.util.function.Function;importorg.springframework.context.annotation.Bean;impo...
到这里我们能够发现两条链刚好是对称的,说明分析没有问题。 总结 分析了spring-cloud-function可以发现,spring框架的几个由SpEL表达式注入造成的RCE的触发点基本上都很相似,触发类以及触发路由分析对于漏洞挖掘来说都有可以借鉴的地方。 更多靶场实验练习、网安学习资料,请点击这里>>...
3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2 3、漏洞复现 本次复现的漏洞环境是Spring Boot 2.6.5 和Mac系统,通过 "spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("open -a calculator.app")" 来触发漏洞。通过错误信息分析,安全问题可以在RoutingFunction....
近日,Spring Cloud Function 官方测试用例曝光了 Spring Cloud Function SPEL表达式注入漏洞,可利用该漏洞通过注入SPEL 表达式来触发远程命令执行。 “由于Spring Cloud Function中RoutingFunction类的apply方法将请求头中的“spring.cloud.function.routing-expression”参数作为Spel表达式进行处理,造成了Spel表达式注入漏洞,攻击...
Spring Cloud Function 是基于Spring Boot 的函数计算框架(FaaS),该项目提供了一个通用的模型,用于在各种平台上部署基于函数的软件,包括像 Amazon AWS Lambda 这样的 FaaS(函数即服务,function as a service)平台。它抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。 在版本3.0...
functionRouter 如果设置为functionRouter则默认路由绑定的具体函数交由用户进行控制,在 Spring Cloud Function Web里面,可以通过设置http头的方式来控制,使用spring.cloud.function.definition和spring.cloud.function.routing-expression都可以,区别是后者允许使用Spring表达式语言(SpEL)。
Spring Cloud Function 是基于 Spring Boot 的函数计算框架,它抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑