JDK:17.0.5
Maven:3.9.6
1、使用Maven仓库包修复
- 示例(假设是springboot3.4.1的logback-core1.5.12报漏洞):
- 根据报错信息,前往Maven仓库(mvnrepository)找到"logback-core":
- 进入仓库页面,找到修复漏洞的最新版(生产不选alpha、beta版这些带测试版字样的版本):
- 进入包页面复制Maven的引入配置:
- 复制回项目位置,刷新Maven后并运行,查看是否存在错误:
- 运行出现错误,根据日志可以分析出是"ch.qos.logback.classic.PatternLayout"的版本不比配(直接用AI去识别问题出在哪也行,死斗游戏里最重要是快):
- 再去Maven仓库找到相同版本的"logback-classic"包(其实第一次搜索的时候有附带出现),重复之前的步骤即可:
- 再次运行没有报错,则说明已修复完成:
(最后的"spring-boot-starter-data-redis"也可以按照同样的方法去修复)
2、手动修复
有一些包经久未修,可以尝试在github上找到其开源的仓库,阅读漏洞编号的文件查看漏洞复现步骤。
根据步骤进行源码debug,找到导致漏洞的代码,修复漏洞、以及修复的同时避免写出新的漏洞。
============
像之前报的那种"为什么Mybatis-Plus不拦截前端直传到后端的SQL"那种漏洞可以忽视。
谁知道你设计的逻辑里前端是不是在AI里,难不成别人要帮你把AI都查一遍?
若是如此,JDBC恐难逃此漏洞。
科斯定律:"谁付出的成本最低,谁就应该承担更大的责任"。
============
3、漏洞发现
日常可以去看一下漏洞文档,看一下他们的漏洞是怎么发现的,则可以弥补自己编码过程中可能出现漏洞的写法。