前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码审计 | Maven 基础知识

代码审计 | Maven 基础知识

作者头像
TeamsSix
发布2022-09-20 18:41:56
4130
发布2022-09-20 18:41:56
举报

0x00 前言

Maven 是一个项目构建和管理工具,利用它可以对 JAVA 项目进行构建和管理。

Maven 采用项目对象模型 POM(Project Object Model)来管理项目。

Maven 的主要工作就是用来解析一些 XML 文档、管理生命周期与插件。

Maven 被设计成将主要的职责委派给一组 Maven 插件,这些插件可以影响 Maven 生命周期,提供对目标的访问。

0x01 pom.xml 文件介绍

pom.xml 文件被用于管理源代码、配置文件、开发者的信息和角色等,Maven 项目中可以没有其他文件但必须包含 pom.xml 文件,该文件也是 Maven 项目的核心配置文件。

一个引入 Fastjson 1.2.24 版本组件的配置信息如下:

代码语言:javascript
复制
<dependencies>
  <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.24</version>
  </dependency>
</dependencies>

该配置信息可直接从 https://mvnrepository.com/artifact/com.alibaba/fastjson/1.2.24 获得

配置文件里的 dependencies 和 dependency 用于定义依赖关系,dependency 里的 groupId、artifactId、version 用来定义所依赖的项目。

0x02 Maven 的使用

这里以 IntelliJ IDEA 为例,在新建项目时选择创建 Maven 项目即可。

在创建完 Maven 项目后,就会看到项目里包含的 pox.xml 文件了,对于安全人员就可以通过该文件去判断当前项目里是否包含了存在隐患的组件。

这时如果想搭建一个 Fastjson <= 1.2.24 版本的漏洞环境,就需要将 Fastjson <= 1.2.24 版本的组件引入。

这里只需要把上面的配置信息复制到 pom.xml 文件中,然后右击 pom.xml 文件选择「Maven」—「重新加载项目」,就可以自动进行组件的获取了。

稍后等组件被自动下载到本地并自动加入到项目依赖中后,就可以在项目代码使用该组件了。

参考文章: https://www.jianshu.com/p/43ed2e9e386b https://www.cnblogs.com/bndong/p/9762067.html https://www.cnblogs.com/cainiaomahua/p/10651014.html 原文链接: https://www.teamssix.com/211103-161807.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TeamsSix 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
    • 0x01 pom.xml 文件介绍
    • 0x02 Maven 的使用
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档