Apache Log4j2漏洞是怎么回事 Apache Log4j2漏洞怎么修复

时间:2022-06-01 14:03:47

近日Apache Log4j2出现漏洞导致我的世界杯黑客攻击,不少玩家都受到了不同程度的影响,而这一切的起因都是因为Apache Log4j2漏洞。怎么才能修复Apache Log4j2漏洞呢?来看看吧!

Apache Log4j2漏洞是怎么回事 Apache Log4j2漏洞怎么修复

Apache Log4j2漏洞是怎 么回事

Apache Log4j是一个基于Java的日志记录工具,是Apache软件基金会下的一个开源项目。而此次出现漏洞的Apache Log4j2则是目前该项目的最新版本,且被广泛地应用于各种常见的Web服务中。而所有使用Java作为开发语言产品研发的互联网服务提供商、甚至公司OA系统等提供外部服务的应用只要用Apache Log4j2插件,都极有可能遭受攻击。

据悉,攻击者仅需向目标输入一段代码,不需要用户执行任何多余操作即可触发该漏洞,使攻击者可以远程控制用户受害者服务器,凡是基于java开发的应用平台都可能会受到影响。目前,IT通信(互联网)、高校、工业制造、金融、*、医疗卫生、运营商等几乎所有行业都受到该漏洞波及,全球知名科技公司、电商网站等也未能幸免,个人用户也难以幸免。

近日,黑客利用最新曝光的Log4j2漏洞对Minecraft玩家发起攻击,且攻击方法极为简单,聊天窗口发个网址即可触发该漏洞。攻击最早发生于12月10日,早期攻击规模较小,第一天检测到的受攻击玩家数量在100左右。12月11日12时起,黑客发起大规模攻击,从12时开始到目前,平均每小时有近5000个Mincraft玩家遭到攻击,攻击最高峰时有超过10000个玩家遭到攻击。

Apache Log4j2漏洞是怎么回事 Apache Log4j2漏洞怎么修复

Apache Log4j2漏洞怎么修复

1、项目中直接使用Apache Log4j2

升级Apache Log4j2所有相关应用到最新的log4j-2.15.0-rc2 版本,地址 :

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

Apache Maven 版本

修改pom.xml

[AppleScript] 代码如下:

org.apache.logging.log4jlog4j-api2.15.0-rc2org.apache.logging.log4jlog4j-core2.15.0-rc2

Gradle 版本

修改build.gradle

[AppleScript] 代码如下:

dependencies { compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.15.0-rc2' compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.15.0-rc2'}

2、框架次加载 Apache Log4j2

截止目前,第三方框架中使Apache Log4j2的,如srping-boot、Apache Struts2等,暂未发布最新修复版本。

只能使用临时方案进行修复。

①在jvm启动参数中添加-Dlog4j2.formatMsgNoLookups=true

②系统环境变量中配置FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS=true

③项目中创建log4j2.component.properties文件,文件中增加配置log4j2.formatMsgNoLookups=true

④部署第三方防火墙产品。

Apache Log4j2漏洞有什么不好的影响

由于minecraft java版也使用了log4j,这个漏洞甚至可以用来在生存模式下作弊,实测在低版本java(java8u191之前的版本)下可以在minecraft聊天内使用jndi注入,因为minecraft会把聊天输入内容打在log里,用的就是log4j,因为命令方块也可以实现此注入,在有外部程序配合的情况下,可以实现完全看不出任何破绽的作弊

官方启动器+官方jre玩家不用进行任何操作,虽然正版的log4j版本是存在漏洞的版本,但是因为目前官方启动器用的jre是基于openjdk16的,openjdk16不能使用jndi注入。

但是还在使用低版本java开服的服主,建议尽快升级log4j和java版本。

Apache Log4j2漏洞是怎么回事 Apache Log4j2漏洞怎么修复