Spring Cloud Gateway中存在远程代码执行漏洞容易受到代码注入攻击

一、漏洞描述 Spring Cloud Gateway 是基于 Spring Framework 和 Spring Boot 构建的网关,它旨在为微服务架构提供一种简单、有效、统一的 API 路由管理方式。 3月1日,VMware发布安全公告,Spring Cloud Gateway中存在远程代码执行漏洞(CVE-2022-22947),该漏洞的CVSSv3评分为10.0。当启用或暴露不安全的 Gateway Actuator 端点时,使用 Spring Cloud Gateway 的应用程序容易受到代码注入攻击,远程攻击者可以通过发送恶意请求以执行任意代码。

二、影响版本 Spring Cloud Gateway 3.1.0 Spring Cloud Gateway 3.0.0 - 3.0.6 Spring Cloud Gateway 其它不支持的、已不再更新的版本 三、处置措施 1、立刻升级至3.0.7以上(不含3.1.0)或3.1.1以上; 2、使用ls -al命令检查/tmp/.ICE-unix目录下有无异常文件(正常为空)。

3、检查本机或前端系统access.log中有无关键字"/actuator/gateway/routes"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是一个简单的Spring Cloud Gateway的使用教程和代码示例: 1. 首先,在pom.xml添加Spring Cloud Gateway的依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> ``` 2. 创建一个配置类,配置路由规则和过滤器: ```java @Configuration public class GatewayConfig { @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("path_route", r -> r.path("/get") .uri("http://httpbin.org")) .build(); } @Bean public TokenFilter tokenFilter() { return new TokenFilter(); } } ``` 上面的代码定义了一个路由规则,将请求路径为 "/get" 的请求转发到 "http://httpbin.org",并且定义了一个过滤器 TokenFilter。 3. 创建一个过滤器: ```java public class TokenFilter implements GatewayFilter, Ordered { private static final String TOKEN = "token"; @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { String token = exchange.getRequest().getQueryParams().getFirst(TOKEN); if (StringUtils.isEmpty(token)) { exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED); return exchange.getResponse().setComplete(); } return chain.filter(exchange); } @Override public int getOrder() { return -100; } } ``` 上面的代码实现了一个简单的Token校验过滤器,如果请求不包含 token,返回 401 错误。 4. 启动应用程序,访问 http://localhost:8080/get?token=123,即可看到网关将请求转发到 http://httpbin.org,并且TokenFilter对请求进行了校验。 以上就是一个简单的Spring Cloud Gateway的使用教程和代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值