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

JAVA安全—FastJson反序列化利用链跟踪autoType绕过

前言

FastJson这个漏洞我们之前讲过了,今天主要是对它的链条进行分析一下,明白链条的构造原理。

Java安全—log4j日志&FastJson序列化&JNDI注入_log4j漏洞-CSDN博客

漏洞版本

1.2.24及以下没有对序列化的类做校验,导致漏洞产生

1.2.25-1.2.41增加了黑名单限制,更改autoType默认为关闭选项。

1.2.42版本是对1.2.41及以下版本的黑名单绕过,代码内更新字符串黑名单hash方式

1.2.43版本是对1.2.42及以下版本的黑名单绕过

1.2.44-1.2.45版本1.2.43版本黑名单无法绕过,寻找新的利用链进行利用

1.2.47版本 利用fastjson处理Class类时的操作,将恶意类加载到缓存中,实现攻击

1.2.62-1.2.67版本Class不会再往缓存中加载恶意类,寻找新的利用链进行突破

1.2.68版本,使用期望类AutoCloseable来绕过fastjson校验

1.2.72-1.2.80使用期望类Throwable的子类,进行绕过

项目搭建

JDK不建议选版本太高的,以防止出错啥的。

选择Web依赖项,因为后续会用到Web的功能。

新建一个类叫FastJsonController,这里待会写入我们的实验代码。

接着我们引入fastjson这个包,我这里选择的是1.2.24版本,直接再pom.xml文件写入以下代码即可。

首先写入以下代码,对我们的JSON数据进行测试,可以看到能够成功解析输出,说明环境没毛病。

public static void main(String[] args) {String str = "{\"name\":\"wlwznb\",\"age\":18}";JSONObject data = JSON.parseObject(str);System.out.println(data);}

链条分析

1.2.24 利用链分析

现在我们开始对链条来解析,把我们上面测试的JSON数据换成以下的链条,可以看出来有点像我们的fastjson利用链了。

String userStr = "{\"@type\":\"com.sf.maven.fastjsondemo1.demos.web.User\",\"age\":18,\"name\":\"wlwznb\"}";

这个 com.sf.maven.fastjsondemo1.demos.web.User 就是你自带的 User 类的路径,直接复制过来就行。

运行代码,可以看出与上面的没啥区别。

别急,此时我们打开User这个类,可以看出里面又很多方法。

我们往里面添加打印语句,这样在调用这些方法的时候,我们就会知道被调用了。

此时我们再运行代码,可以看到setAge、setName、getAge、getName这四个方法都被调用了,这说明在解析数据的时候不仅仅把age和name这两个数据解析了,还把User类里面的set和get方法解析了。

相关文章:

JAVA安全—FastJson反序列化利用链跟踪autoType绕过

前言 FastJson这个漏洞我们之前讲过了,今天主要是对它的链条进行分析一下,明白链条的构造原理。 Java安全—log4j日志&FastJson序列化&JNDI注入_log4j漏洞-CSDN博客 漏洞版本 1.2.24及以下没有对序列化的类做校验,导致漏洞产生 1.2.25-1.2.41增加了黑名单限制,…...

格式化字符串漏洞(Format String Vulnerability)

格式化字符串漏洞(Format String Vulnerability)是程序中因不当处理格式化字符串参数而导致的一类安全漏洞,常被攻击者利用来读取内存数据、篡改程序执行流程,甚至执行任意代码。以下是对其原理、利用方式及防御措施的详细解析&am…...

C++--iomanip库

目录 1. 设置字段宽度:std::setw() 2. 设置浮点数精度:std::setprecision() 3. 设置填充字符:std::setfill() 4. 控制对齐方式:std::left 和 std::right,std::internal 5. 控制进制输出:std::hex、std…...

Redis 集群原理、主从复制和哨兵模式的详细讲解

引言:本文记录了博主在学习Redis的过程中的原理,了解为什么使用与怎么样使用 Redis 集群,在使用 Redis 集群时出现的主从复制和哨兵模式的相关知识。本文并不涉及Redis安装。 文章目录 一、简单介绍什么是 Redis二、为什么要使用 Redis 集群三…...

基于Java的远程视频会议系统(源码+系统+论文)

第一章 概述 1.1 本课题的研究背景 随着人们对视频和音频信息的需求愈来愈强烈,追求远距离的视音频的同步交互成为新的时尚。近些年来,依托计算机技术、通信技术和网络条件的发展,集音频、视频、图像、文字、数据为一体的多媒体信息&#xff…...

springboot 事务管理

在Spring Boot中,事务管理是通过Spring框架的事务管理模块来实现的。Spring提供了声明式事务管理和编程式事务管理两种方式。通常,我们使用声明式事务管理,因为它更简洁且易于维护。 1. 声明式事务管理 声明式事务管理是通过注解来实现的。…...

深度学习-神经机器翻译模型

以下为你介绍使用Python和深度学习框架Keras(基于TensorFlow后端)实现一个简单的神经机器翻译模型的详细步骤和代码示例,该示例主要处理英 - 法翻译任务。 1. 安装必要的库 首先,确保你已经安装了以下库: pip insta…...

.NET周刊【2月第1期 2025-02-02】

国内文章 dotnet 9 已知问题 默认开启 CET 导致进程崩溃 https://www.cnblogs.com/lindexi/p/18700406 本文记录 dotnet 9 的一个已知且当前已修问题。默认开启 CET 导致一些模块执行时触发崩溃。 dotnet 使用 ColorCode 做代码着色器 https://www.cnblogs.com/lindexi/p/…...

【合集】Java进阶——Java深入学习的笔记汇总 amp; 再论面向对象、数据结构和算法、JVM底层、多线程

前言 spring作为主流的 Java Web 开发的开源框架,是Java 世界最为成功的框架,持续不断深入认识spring框架是Java程序员不变的追求;而spring的底层其实就是Java,因此,深入学习Spring和深入学习Java是硬币的正反面&…...

GPU、CUDA 和 cuDNN 学习研究【笔记】

分享自己在入门显存优化时看过的一些关于 GPU 和 CUDA 和 cuDNN 的网络资料。 更多内容见: Ubuntu 22.04 LTS 安装 PyTorch CUDA 深度学习环境-CSDN博客CUDA 计算平台 & CUDA 兼容性【笔记】-CSDN博客 文章目录 GPUCUDACUDA Toolkit都包含什么?NVID…...

【5】阿里面试题整理

[1]. 介绍一下ZooKeeper ZooKeeper是一个开源的分布式协调服务,核心功能是通过树形数据模型(ZNode)和Watch机制,解决分布式系统的一致性问题。 它使用ZAB协议保障数据一致性,典型场景包括分布式锁、配置管理和服务注…...

计算机毕业设计hadoop+spark+hive物流预测系统 物流大数据分析平台 物流信息爬虫 物流大数据 机器学习 深度学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

Wpf美化按钮,输入框,下拉框,dataGrid

Wpf美化按钮&#xff0c;输入框&#xff0c;下拉框&#xff0c;dataGrid 引用代码后 引用资源 <ControlTemplate x:Key"CustomProgressBarTemplate" TargetType"ProgressBar"><Grid><Border x:Name"PART_Track" CornerRadius&q…...

搜索插入位置:二分查找的巧妙应用

问题描述 给定一个已排序的整数数组 nums 和一个目标值 target&#xff0c;要求在数组中找到目标值并返回其索引。如果目标值不存在于数组中&#xff0c;则返回它按顺序插入的位置。必须使用时间复杂度为 O(log n) 的算法。 示例&#xff1a; 示例1&#xff1a; 输入: nums …...

Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒,如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡

Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒&#xff0c;如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡 实战操作 去除权限 要在 Cocos2d-x 开发的游戏中去掉 APK 自带权限&#xff0c;可以按照以下步骤操作&#xff1a; 编辑 AndroidMa…...

自动化xpath定位元素(附几款浏览器xpath插件)

在 Web 自动化测试、数据采集、前端调试中&#xff0c;XPath 仍然是不可或缺的技能。虽然 CSS 选择器越来越强大&#xff0c;但面对复杂 DOM 结构时&#xff0c;XPath 仍然更具灵活性。因此&#xff0c;掌握 XPath&#xff0c;不仅能提高自动化测试的稳定性&#xff0c;还能在爬…...

String类(6)

大家好&#xff0c;今天我们继续来学习一下String类的查找方法&#xff0c;主要是反向查找的一些方法。 ⭐️从后往前找一样的道理&#xff0c;如果找到了就返回对应字符的下标. 如果后面有对应的字符&#xff0c;则会返回第一个遇到的字符下标. ⭐️注意一下传入字符串的找法…...

动态表格html

题目&#xff1a; 要求&#xff1a; 1.表格由专业班级学号1-10号同学的信息组成&#xff0c;包括&#xff1a;学号、姓 名、性别、二级学院、班级、专业、辅导员&#xff1b; 2.表格的奇数行字体为黑色&#xff0c;底色为白色&#xff1b;偶数行字体为白色&#xff0c;底 色为黑…...

ZU47DR 100G光纤 高性能板卡

简介 2347DR是一款最大可提供8路ADC接收和8路DAC发射通道的高性能板卡。板卡选用高性价比的Xilinx的Zynq UltraScale RFSoC系列中XCZU47DR-FFVE1156作为处理芯片&#xff08;管脚可以兼容XCZU48DR-FFVE1156&#xff0c;主要差别在有无FEC&#xff08;信道纠错编解码&#xff0…...

mysql8.0使用pxc实现高可用

环境准备 准备三台虚拟机&#xff0c;其对应的主机名和IP地址为 pxc-1192.168.190.129pxc-2192.168.190.133pxc-3192.168.190.134 解析,都要做解析 测试 下载pxc的安装包&#xff0c; 官网&#xff1a;https://www.percona.com/downloads 选择8.0的版本并下载&#xff0c;…...

本地部署开源推送通知系统 ntfy 并实现外部访问

ntfy 是一款简单、轻量级且功能强大的开源推送通知系统&#xff0c;它的核心目标是让用户或开发者能够轻松地从任何设备、任何地方向自己的手机或桌面发送通知。本文将详细介绍如何在 Linux 系统局域网内部署 ntfy 并结合路由侠实现外网访问局域网内部署的 ntfy 。 第一步&…...

微信群消息监控系统进阶:如何用dataclass优化配置管理并实现热更新

微信群消息监控系统进阶&#xff1a;如何用dataclass优化配置管理并实现热更新 在开发长期运行的微信消息监控系统时&#xff0c;配置管理往往是后期维护的痛点。许多开发者初期会选择简单的字典或JSON文件存储配置&#xff0c;但随着功能迭代&#xff0c;硬编码的配置项、散落…...

VS2019调试配置报错解析:Designtime生成失败与IntelliSense不可用的深度排查指南

1. 问题现象与初步诊断 当你打开VS2019项目时突然弹出"配置Debug|Win32的Designtime生成失败&#xff0c;IntelliSense可能不可用"的红色错误提示&#xff0c;代码编辑窗口里的智能提示全部消失&#xff0c;连最基本的语法高亮都失效了——这种场景我遇到过不下20次。…...

dll修复工具绿色版免安装,2026年最新版实测与风险提示

正急着用电脑&#xff0c;突然弹窗“缺少dll文件”&#xff0c;游戏或软件打不开。第一反应就是赶紧找个工具修好它&#xff0c;但又不想在电脑上装一堆乱七八糟的软件&#xff0c;就想找个绿色版、免安装的&#xff0c;用完就能删&#xff0c;不留痕迹。但网上这种小工具满天飞…...

告别手动启动:教你写一个ROS2 Launch文件,一键运行robot_state_publisher和rviz2显示URDF

ROS2高效开发指南&#xff1a;用Launch文件一键启动机器人可视化系统 每次调试URDF模型都要重复输入一堆命令&#xff1f;手动启动robot_state_publisher、joint_state_publisher和rviz2节点不仅浪费时间&#xff0c;还容易遗漏参数。本文将带你深度掌握ROS2 Launch文件的编写…...

别再纠结硬件滚动了!用Arduino+SSD1306库实现超长文本的软件滚动显示(附完整代码)

ArduinoSSD1306实现超长文本流畅滚动的终极方案 当你在创客项目中需要显示超出屏幕宽度的日志数据或长消息时&#xff0c;硬件滚动的局限性就会暴露无遗。我曾在一个环境监测项目中遇到这个问题——传感器数据经常超过OLED屏幕的16字符显示限制&#xff0c;硬件滚动方案直接截断…...

AI时代开发格局剧变:TypeScript在AI辅助开发中超越Python,登顶GitHub榜首

2026年3月&#xff0c;GitHub《Octoverse 2025》报告数据在技术圈彻底引爆——TypeScript首次超越Python&#xff0c;成为GitHub月活跃贡献者最多的编程语言&#xff0c;而这一历史性转折的核心推手&#xff0c;正是AI辅助开发的全面普及。这不是简单的语言热度更迭&#xff0c…...

Qwen3-ASR-0.6B在新闻行业的应用:采访录音快速转写

Qwen3-ASR-0.6B在新闻行业的应用&#xff1a;采访录音快速转写 1. 引言 新闻记者每天都要面对大量的采访录音&#xff0c;传统的手工转写方式耗时耗力。一段30分钟的采访录音&#xff0c;熟练的转录员可能需要2-3小时才能完成转写&#xff0c;而且还要面对口音、专业术语、背…...

如何用“波特三大竞争战略”为你的新产品破局?

1. 成本领先战略 (Cost Leadership)核心理念&#xff1a; 成为整个行业中成本最低的生产商或服务提供商。注意&#xff0c;成本领先不等于价格战。它的本质是通过极致的运营效率、规模经济、供应链优化或技术创新&#xff0c;把产品的底层结构性成本降到最低。这意味着&#xf…...

从Tcl脚本到实战:用Innovus自动化完成数字IC后端设计的5个高效技巧

从Tcl脚本到实战&#xff1a;用Innovus自动化完成数字IC后端设计的5个高效技巧 在数字IC后端设计领域&#xff0c;效率提升往往意味着项目周期的缩短和设计质量的提高。对于已经掌握Innovus基础操作的中级工程师而言&#xff0c;如何从手动点击界面过渡到自动化脚本驱动的工作流…...