`
m17192147867
  • 浏览: 19079 次
社区版块
存档分类
最新评论

Log4j 漏洞修复和临时补救方法

 
阅读更多

1.2 漏洞评级及影响版本

Apache Log4j 远程代码执行漏洞 严重

影响的版本范围:Apache Log4j 2.x <= 2.14.1

2.log4j2 漏洞简单演示

创建maven工程
引入jar包依赖

<dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.14.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.14.0</version>
        </dependency>
    </dependencies>

编写log4j2配置文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">

    <!--全局参数-->
    <Properties>
        <Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n</Property>
        <Property name="logDir">/data/logs/dust-server</Property>
    </Properties>

    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rolling_file"/>
        </Root>
    </Loggers>

    <Appenders>
        <!-- 定义输出到控制台 -->
        <Console name="console" target="SYSTEM_OUT" follow="true">
            <!--控制台只输出level及以上级别的信息-->
            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout>
                <Pattern>${pattern}</Pattern>
            </PatternLayout>
        </Console>
        <!-- 同一来源的Appender可以定义多个RollingFile,定义按天存储日志 -->
        <RollingFile name="rolling_file"
                     fileName="${logDir}/dust-server.log"
                     filePattern="${logDir}/dust-server_%d{yyyy-MM-dd}.log">
            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout>
                <Pattern>${pattern}</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1"/>
            </Policies>
            <!-- 日志保留策略,配置只保留七天 -->
            <DefaultRolloverStrategy>
                <Delete basePath="${logDir}/" maxDepth="1">
                    <IfFileName glob="dust-server_*.log" />
                    <IfLastModified age="7d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>
</Configuration>

创建测试类Log4j2Demo

//java项目 fhadmin.cn
public class Log4j2Demo {

    private static  final Logger LOGGER=LogManager.getLogger();
    public static void main(String[] args) {
        String username="${java:os}";

        LOGGER.info("Hello, {}",username);
    }
}

运行结果

[INFO] Building log4j2-bug-test 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- exec-maven-plugin:3.0.0:exec (default-cli) @ log4j2-bug-test ---
2021-12-11 11:44:14,654  INFO Log4j2Demo:12 - Hello, Windows 10 10.0, architecture: amd64-64
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.140 s
[INFO] Finished at: 2021-12-11T11:44:14+08:00
[INFO] ------------------------------------------------------------------------

在这里面我们可以看到使用${}可以实现漏洞的注入,假设username为用户登录的输入框,即可从这个输入框进行注入,既可查看到一些后台系统信息,如果有黑客在使用JNDI编写恶意代码注入的话,后果是非常严重的。

3. log4j2 快速修复措施
修改log4j2版本
据 Apache 官方最新信息显示,release 页面上已经更新了 Log4j 2.15.0 版本,主要是那个log4j-core包,漏洞就是在这个包里产生的,如果你的程序有用到,尽快紧急升级(java项目 fhadmin.cn)。

临时解决方案

1.设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”

2.设置“log4j2.formatMsgNoLookups=True”

3.系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”

 

4.关闭对应应用的网络外连,禁止主动外连

0
0
分享到:
评论

相关推荐

    log4j漏洞修复升级jar包(log4j-1.2-api-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-1.2-api-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-core-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-core-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-api-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-api-2.17.0.jar)

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    标题中提到的“log4j2.16.0”是Log4j2框架的一个安全更新版本,主要目的是修复这个被称为“Log4Shell”的漏洞。Log4j2.16.0是官方发布的一个重要安全补丁,它包含了一系列的安全增强措施,以防止恶意输入触发远程...

    log4j漏洞扫描工具

    “log4j漏洞扫描工具”是指用于检测和识别Apache Log4j框架中存在安全漏洞的专用软件。Log4j是Java编程语言中的一个流行日志记录库,2021年曝光的重大安全漏洞(被称为CVE-2021-44228或Log4Shell)使得恶意攻击者...

    log4j2.17.2

    《log4j2.17.2漏洞修复程序包详解》 在信息技术领域,日志管理是系统维护和故障排查的重要环节。Log4j作为Java平台广泛使用的日志记录框架,其性能高效、功能强大,深受开发者的青睐。然而,随着技术的发展,安全...

    修复log4j漏洞log4j2下载最新log4j2.16.0下载 log4j-api-2.16.0.jar

    apache下载太慢,特搬到国内下载。修复log4j漏洞log4j2下载最新log4j2.16.0下载

    log4j2漏洞检测工具

    4. **修复漏洞**: 根据报告提供的指导,更新Log4j2到不受影响的版本,或者应用临时解决方案,如禁用JNDI查找功能。 5. **验证修复**: 再次运行检测工具,确保所有漏洞都已修复。 6. **持续监控**: 设置定期扫描,...

    log4j.1.2.17

    Log4j,作为Java世界中最广泛使用的日志框架之一,因其强大的功能和灵活的配置,成为了开发者的首选工具。本文将重点围绕Log4j 1.2.17版本展开,详细介绍其核心概念、使用方法以及配置细节。 1. **Log4j简介** Log...

    logging-log4j2-log4j-2.15.0-rc2.zip maven 资源库

    针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...

    老生常谈Log4j和Log4j2的区别(推荐)

    而Log4j2需要import org.apache.logging.log4j.Level、org.apache.logging.log4j.LogManager和org.apache.logging.log4j.Logger,使用LogManager.getLogger()方法获取日志记录器。 Log4j和Log4j2都是常用的日志记录...

    ArcGIS漏洞修补工具(Log4J)

    ArcGIS Enterprise 10.9.1及以下版本的 log4j 漏洞修补工具

    Apache Log4j2 远程代码执行漏洞检测工具

    此漏洞影响了全球大量的网络服务,因此,快速、准确地检测和修复Log4j2漏洞变得至关重要。 针对这个漏洞,开发出了专门的Apache Log4j2远程代码执行漏洞检测工具,这些工具包括针对Windows和Linux操作系统的版本。...

    log4j漏洞扫描工具带详细教程和用法

    python环境下执行,可批量扫描url,可扫描本地,可绕过waf测试,fuzzing测试

    log4j漏洞本地排查小工具.zip

    log4j漏洞本地排查小工具,扫描你的项目存不存在log4j漏洞。

    Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效

    Log4j、Log4j2和Fastjson的安全性问题在过去曾引起广泛关注,例如Log4j2的CVE-2021-44228(也被称为Log4Shell漏洞),这是一个远程代码执行漏洞,影响了许多使用Log4j2的系统。这个插件可能就是为了检测和利用这些...

    log4j漏洞排查小工具

    4. **修复建议**:提供针对检测到的漏洞的修复步骤,如更新Log4j到安全版本,或者提供临时禁用漏洞利用的方法。 5. **日志分析**:分析系统的日志文件,寻找可能的攻击迹象。 6. **报告生成**:生成详细的扫描报告...

    log4j-api-2.12.4.ja和log4j-core-2.12.4.jar

    此次提及的`log4j-api-2.12.4.jar`和`log4j-core-2.12.4.jar`是Log4j 2框架的两个关键组件,版本号为2.12.4,这个版本主要修复了之前版本中可能存在的安全漏洞。 **log4j-api-2.12.4.jar** 是Log4j 2框架的API模块...

Global site tag (gtag.js) - Google Analytics