Apache Log4j曝史诗级漏洞,Spring boot修复教程

Posted 奇斯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Log4j曝史诗级漏洞,Spring boot修复教程相关的知识,希望对你有一定的参考价值。

全球知名开源日志组件Apache Log4j被曝存在严重高危险级别远程代码执行漏洞,攻击者可以利用该漏洞远程执行恶意代码。据阿里云通报,由Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。

该漏洞于12月7日由游戏平台Minecraft用户在网上曝光,据称黑客可以通过操作日志消息(甚至在聊天信息中键入内容),并且还可以在Minecraft服务器端执行恶意代码。Apache log4j官方在7日当天便发布2.15.0-rc1版本以修复漏洞,随后,阿里云、斗象科技、绿盟科技、默安科技、奇安信等安全厂商发布危害通报。

目前受漏洞影响的主要是Apache Log4j 2.x <= log4j-2.15.0-rc1版本,当用户使用Apache Log4j2来处理日志时,漏洞会对用户输入的内容进行特殊处理,攻击者便可以在Apache Log4j2中构造特殊请求来触发远程代码执行。

如何判断是否受影响,开发者只需排查在Java应用中是否引入log4j-api, log4j-core两个jar文件,若存在,建议立即进行安全排查,采取防护措施。

如果我们的项目是基于maven的spring boot项目。查看项目依赖中是否存在log4j-api, log4j-core的依赖即可。

目录

1.打开依赖树

2.查看log4j-api依赖

3.排除log4j-to-slf4j

4.排除log4j-api

5.排除依赖的代码


1.打开依赖树

发现我们引用的log4j-api是2.13.3版本。

2.查看log4j-api依赖

发现是log4j-to-slf4j依赖了log4j-api。首先排除log4j-to-slf4j,引入最新版试试

3.排除log4j-to-slf4j

 

发现引入的log4j-api依旧是2.13.3版本。那么,我们要排除log4j-api,引入最新版。

4.排除log4j-api

 

 

发现引入的log4j-api最新版本是2.15.0版本。成功。

项目打包后,查看lib里面的jar版本:

5.排除依赖的代码

        <!-- 排除log4j-api,引入最新log4j-api -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-to-slf4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                </exclusion>
            </exclusions>
            <version>2.15.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.15.0</version>
        </dependency>
        <!-- 排除log4j-api,引入最新log4j-api END-->

以上是关于Apache Log4j曝史诗级漏洞,Spring boot修复教程的主要内容,如果未能解决你的问题,请参考以下文章

Flink等多组件受影响,Apache Log4j曝史诗级漏洞

史诗级漏洞爆发,Log4j 背后的开源人何去何从?

Log4j 曝核弹级漏洞,一行配置修复,速改

冰河连夜复现了Log4j最新史诗级重大漏洞,含视频和完整案例代码,全网最全,赶快收藏吧

Log4j史诗级漏洞,我们这些小公司能做些什么?

Log4j史诗级漏洞,我们这些小公司能做些什么?