最近在解决jar包漏洞问题,需要替换jar包,但是springboot2本身依赖了很多jar版本,导致我们需要替换的时候无从下手。
解决方法:
1、maven编译项目后,就可以在target目录下找到生成的jar包,然后使用压缩文件解压该jar文件,就可以得到一个文件夹。然后在文件夹下BOOT-INF\lib文件夹中就可以看到所有依赖的jar文件。
2、我们需要替换掉jackson-core-2.9.10.6.jar为jackson-core-2.11.4.jar
2021年1月7日,jackson-databind官方发布安全通告,披露jackson-databind < 2.9.10.8存在多个反序列化远程代码执行漏洞(CVE-2020-36179 ~ CVE-2020-36189),利用该漏洞,攻击者可远程执行代码,控制服务器。
2020年12月17日,jackson-databind官方发布安全通告,披露jackson-databind < 2.9.10.8存在反序列化远程代码执行漏洞(CVE-2020-35490/CVE-2020-35491)。利用该漏洞,攻击者可控制服务器。
2020年12月27日,jackson-databind官方发布安全通告,披露jackson-databind < 2.9.10.8存在反序列化远程代码执行漏洞(CVE-2020-35728)。利用该漏洞,攻击者可远程执行代码,控制服务器。若未使用enableDefaultTyping()方法,可忽略该漏洞。
2021年1月19日,jackson-databind官方发布安全通告,披露jackson-databind < 2.9.10.6存在一处反序列化漏洞,此漏洞可能导致远程代码漏洞执行
3、打开pom.xml文件
4、在<properties>中添加以下两行,即可使用指定版本,
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath />
</parent>
<properties>
<encoding>UTF-8</encoding>
<!-- 以下两行都必须,不然没有效果-->
<jackson.version>2.11.4</jackson.version>
<!-- databind关键字,指定版本-->
<jackson.version.databind>${jackson.version}</jackson.version.databind>
</properties>
5、然后我们执行maven-clean,
6、在执行maven-package,即可得到最新的jar,然后使用360压缩软件解压后,就能看到我们指定的jar。
|