一,背景
Spring项目上线前进行了安全扫描,一些安全漏洞扫出来了,需要做一些处理。扫描的结果如下:
[安装包路径:/usr/local/opr-platform/opr-platform.jar -> BOOT-INF/lib/commons-compress-1.19.jar
当前版本:1.19
存在漏洞版本:>=1.1,<1.21
修复版本:1.21]
根据扫描结果的建议来说,就是需要升级commons-compress包到1.21版本。
那么就需要找到commons-compress包时从哪里引入的,然后再去做相应的升级。
二,查询pom依赖
1,mvn dependency:tree
idea里执行mvn dependency:tree命令,获取到如下内容
可以看到commons-compress包来自哪个包。
2,mvn dependency:list
idea里执行mvn dependency:list命令,获取到如下内容
没有树状结构,但是可以看到项目引入的所有的包。
三,Idea中查看依赖关系
idea自带的工具也可以看到包引用的关系
四,解决问题
回到背景里提到漏洞,在找到包之后,可以用以下的方法修复
<!-- 将easyexcel中的低版本commons-compress排除掉,再导入高版本的commons-compress -->
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.21</version>
</dependency>
但是需要注意的是,并不是所有的升级都适用上面这种,因为可能两个版本不兼容,所以在做上面这样的升级时,需要测试一下是否兼容,功能是否正常。
如果测试没问题,才可以上线。如果测试时有问题,需要再做补救措施。
如果对你有帮助,记得点赞关注收藏哟!