最近在解决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。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐