首页 > 编程知识 正文

java基础案例教程,实战java程序设计

时间:2023-05-04 22:32:58 阅读:156868 作者:3833

Java web框架是Java的高级课程,要进行Spring漏洞分析,需要了解Java代码。

Java后端标准学习途径: JavaSE-JavaEE-Java Web框架

Spring是Java最核心、最重要的框架。

0X01审计环境准备

在进行Spring的代码审核(对某个组件包进行Spring分析)时,首先需要对应的Spring项目的源代码,对于没有编写代码经验的朋友,一开始就要建立Spring的漏洞环境,有点困难

1 .方法1 (以1(spring-messaging为例)。

在docker中获取Spring漏洞环境的源代码(默认情况下为现有docker环境)

要显示Spring漏洞信息,请:

确认是否抽取镜像和方法。 使用或在文档器中搜索文档搜索-消息。

镜像:

dockerpullvulhub/spring-messaging :5.0.4。

显示提取的镜像。

执行镜像(容器)。

访问主机8080,在这一步骤中获得漏洞的环境可以进行POC验证。

通过查看容器ID和启动时运行的命令,可以看到使用的命令是java -jar,并可以看到环境中的源代码是jar包。

进入容器,找到源代码。

将容器中的文件复制到本地。

将jar放入jd-gui中时,将显示相应的源代码。

也可以在本地使用java -jar来运行打包在jar中的项目。

扩展:

如果复制的是war,则可以将其放在tomcat下的webapps目录中,然后运行tomcat以生成相应的源代码。 我们还部署了项目,以便可以根据tomcat和war名称访问项目。

2 .方法2

如果没有接触过docker,可以在github(3359github.com)中搜索环境源代码。 用这种方法搜索的源代码准确性很低,并不一定有相应的漏洞。 为了再现漏洞,需要修改相应的代码。

0X02 Spring框架审计的思考

熟悉Spring中揭示的影响版本、漏洞原因和漏洞流程。

步骤1 :审计将检查项目是否使用了存在漏洞的jar包版本。 检查Spring的配置文件,但是当前的所有项目都由Maven管理jar包,所以首先要检查Maven的配置文件pom.xml和. iml。

从图中可以看到,由于项目使用了Spring Framework 5.0.4,并使用了spring-websockets模块,因此推测Spring Messaging远程命令的执行中可能存在漏洞

步骤2 (验证项目是否使用了会导致漏洞的类和方法,或者是否使用了可能导致漏洞的危险类和方法(项目将导入到IDE中以查找问题类和问题方法) )。

IDEA中

ctrlshift (包含jar包的全局搜索类)。

回到车上就可以进入班级所在的位置。

ctrl shiftaTN (包含jar包的全局搜索方法。

第三步(满足前两个步骤后,接下来可以执行初步的POC动态调试以判断是否可以使用漏洞(使用IDEA的Debug ),并在导致漏洞的类和方法中插入断点进行流程分析。

分析和调试数据流,构建poc。

0X03小总结

该篇如何获取Spring审计的Demo,审计源代码,提供Spring框架的审计思路初步判定是否存在漏洞,其余构建POC,动态调试分析并修改POC。 下一期斗哥带来Java代码审计Spring框架知识篇,讲述Spring框架构建POC所需的知识。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。