📜  什么是 Apache Log4j 漏洞?(1)

📅  最后修改于: 2023-12-03 15:36:07.783000             🧑  作者: Mango

什么是 Apache Log4j 漏洞?

Apache Log4j是Java应用程序中广泛使用的日志记录库。最近,Apache Log4j受到了一个名为“Log4 Shell”的高危漏洞的影响,黑客可以利用该漏洞对系统进行远程代码执行攻击。

漏洞详情

漏洞编号:CVE-2021-44228

漏洞等级:严重

漏洞类型:远程代码执行

漏洞描述:Apache Log4j在面对恶意输入时,会将该输入的内容解释为log4j配置文件中的指令,从而导致恶意代码被注入、执行。攻击者可以通过此漏洞的利用获得目标主机的访问权限,执行任意代码。

影响版本

Apache Log4j 2.0-2.14.1

解决方案
  • 在未打补丁的系统上,移除Log4j组件或限制网络流量可有效避免漏洞被利用。 另外需要注意的是,不要使用从第三方复制的代码片段中的Log4j组件。
  • 把受影响的Apache Log4j更新到2.15.0及以上版本,并更新相关组件以使用新版本的Apache Log4j 2.x库。
漏洞检测

用户可以使用以下方法手动测试是否受到 Log4 Shell 漏洞影响:

import org.apache.logging.log4j.*;

public class TestLog4j {
  	private static final Logger logger = LogManager.getLogger(TestLog4j.class);
  
  	public static void main(String[] args) {
    	logger.info("${java.lang.Runtime.getRuntime().exec('calc.exe')}");
  	}
}

当我们使用受影响的 Log4j 版本运行此代码时,窗口计算器应该会弹出,此时我们可以认为我们的系统已受到 Log4 Shell 漏洞的影响。

总结

Apache Log4j 漏洞的重要性不可低估,目前已经有很多攻击者针对该漏洞发起了攻击。强烈建议各位程序员或企业管理者对自己的系统进行漏洞检测并及时修复漏洞。