时间:2024-04-17 07:40:53作者:吕布再开心一次 ̄
近日Apache Log4j 2出现漏洞导致我的世界杯黑客攻击,不少玩家都受到了不同程度的影响,而这一切的起因都是因为Apache Log4j 2漏洞。怎么才能修复Apache Log4j 2漏洞呢?来看看吧!
Apache Log4j是一个基于Java的日志记录工具,是Apache软件基金会下的一个开源项目。而此次出现漏洞的Apache Log4j 2则是目前该项目的最新版本,且被广泛地应用于各种常见的Web服务中。而所有使用Java作为开发语言产品研发的互联网服务提供商、甚至公司OA系统等提供外部服务的应用只要用Apache Log4j 2插件,都极有可能遭受攻击。
据悉,攻击者仅需向目标输入一段代码,不需要用户执行任何多余操作即可触发该漏洞,使攻击者可以远程控制用户受害者服务器,凡是基于java开发的应用平台都可能会受到影响。目前,IT通信(互联网)、高校、工业制造、金融、政府、医疗卫生、运营商等几乎所有行业都受到该漏洞波及,全球知名科技公司、电商网站等也未能幸免,个人用户也难以幸免。
近日,黑客利用最新曝光的Log4j 2漏洞对Minecraft玩家发起攻击,且攻击方法极为简单,聊天窗口发个网址即可触发该漏洞。攻击最早发生于12月10日,早期攻击规模较小,第一天检测到的受攻击玩家数量在100左右。12月11日12时起,黑客发起大规模攻击,从12时开始到目前,平均每小时有近5000个Mincraft玩家遭到攻击,攻击最高峰时有超过10000个玩家遭到攻击。
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] 代码如下:
<dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.15.0-rc2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.15.0-rc2</version> </dependency></dependencies>
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
④部署第三方防火墙产品。
由于minecraft java版也使用了log4j,这个漏洞甚至可以用来在生存模式下作弊,实测在低版本java(java8u191之前的版本)下可以在minecraft聊天内使用jndi注入,因为minecraft会把聊天输入内容打在log里,用的就是log4j,因为命令方块也可以实现此注入,在有外部程序配合的情况下,可以实现完全看不出任何破绽的作弊
官方启动器+官方jre玩家不用进行任何操作,虽然正版的log4j版本是存在漏洞的版本,但是因为目前官方启动器用的jre是基于openjdk16的,openjdk16不能使用jndi注入。
但是还在使用低版本java开服的服主,建议尽快升级log4j和java版本。