一、Fastjson的基本功能1.1、将json字符串解析为json对象这里的fastjson包版本为1.2.24通过pom的方式即可导入dependencies dependency groupIdcom.alibaba/groupId artifactIdfastjson/artifactId version1.2.24/version /dependency /dependencies可以看到在运行主类后发现字符串被处理为json对象打印出来了当然也可以提取出json对象中的具体值1.2、将json字符串解析为JavaBeanJavaBean一种格式拥有构造方法和get、set方法的类这里在方法中添加了打印字符串方便观察方法被调用的情况运行主类可以发现输出结果明显和普通json对象不同由于我们指定了解析的对象是Person类所以调用了Person类中的constructor、setName和setAge方法这个是毫无疑问的但是我们还能看到调用了getAge方法却没有调用另一个getName方法这时因为在输出时指定了person对象的getAge方法的缘故如果不指定方法就是下面的结果1.3、type指定解析的对象这里我们对字符串的解析方式和第一种1.1是如出一辙的虽然结果貌似没有区别但是通过打印的方法名我们可以知道这个字符串还是被当做JavaBean解析了这是为什么呢如果细看可以发现字符串中多出了下面的信息通过这种方式使程序按照对Person对象的形式去处理json字符串type:org.example.Person也就是说当我们传入的json字符串中包含type:xx.xx.xx的信息如果路径存在就会控制程序按某个类去执行我们的json字符串。利用type可以指定让fastjson去接收我们想要的类而最关键的是这个type可以被我们抓包改掉他这里是无条件信任了前端传入的数据二、Fastjson反序列化漏洞2.1、漏洞原理何为fastjson反序列化呢如果联想到将json字符串解析为JavaBean的过程我们不难知道在json字符串被解析为java对象时会调用指定类中的set方法这个过程就是反序列化与之对应的还有序列化也就是将java对象转换为json字符串这一过程Json字符串 ————反序列化————Java对象Java对象 ————序列化———— Json字符串其实Fastjson反序列化漏洞的本质也就是java反序列化漏洞因为在将Json字符串反序列化为Java对象这个过程中会执行type指定类中的construct和set方法如果这些方法中存在危险操作的话就会产生严重危害命令执行。2.2、测试为了模拟该漏洞在下面创建了一个类Test其中包含着setCmd的命令执行方法通过AutoType指定该类并且解析的字符串中的内容是要执行的命令运行程序-命令执行。
基于Arduino与超声波传感器的互动电子动画头骨制作指南 1. 项目缘起:从静态装饰到互动惊吓的升级每年万圣节,家门口摆个塑料骷髅头几乎是常规操作,但看多了总觉得差点意思——它太安静、太被动了。作为一个喜欢捣鼓点电子玩意儿的人,我总想着能不能让这个骷髅头“活”过来,不…
2026昭通市卖黄金别踩坑!全域五家靠谱门店实测评级,这份避坑指南请收好_转自TXT - 余情未了888 <p>昭通市作为云南省东北部的重要门户城市,地处云贵川三省交界,素有“锁钥南滇,咽喉西蜀”之称。近年来,随着当地居民财富管理意识的提升,贵金属回收市场在昭通市逐渐活跃起来。无论是老城区的街巷,还是新…
接上USB,焊上麦,通话瞬间安静——WX-0813如何用AI降噪+100dB消回音,把嘈杂通话变成“金子“般清晰 从"能不能听清"到"听得太清楚了",有时候只需要一根USB线和一个驻极体麦。这篇不是广告,是一个老音频人看完规格书后的真实思考。前言:做音频的人,都知道什么叫"绝望"我见过太多这样的场景——一个做…
GetQzonehistory:高效备份QQ空间说说的专业解决方案 GetQzonehistory:高效备份QQ空间说说的专业解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在为珍贵的QQ空间记忆逐渐消失而担忧吗?GetQzonehistory是…
物联网安全:SE050硬件加密与PIC18LF47K40集成方案 1. 物联网安全现状与SE050的定位当前物联网设备面临的安全威胁呈现指数级增长态势。根据行业统计,2022年全球物联网设备遭受的网络攻击次数同比增加了87%,其中针对工业控制系统的攻击占比高达41%。传统MCU在应对这些安全挑战时往往力不从心,主…
C++ std::generate算法详解:从原理到实战的高效数据生成指南 1. 项目概述:为什么我们需要 std::generate ? 在C的日常开发中,尤其是处理容器初始化、数据填充或者生成测试数据时,我们经常会遇到一个看似简单但写起来有点啰嗦的场景:如何用一个特定的规则,去填充一个…
PHP健康饮食推荐系统毕业设计:从选题到答辩的全流程实战指南 如果你是一名计算机专业的学生,正在为毕业设计发愁,面对“健康饮食推荐系统”这个看似热门却无从下手的题目,这篇文章就是为你准备的。很多同学以为毕业设计的核心是写代码,但真正决定你能否顺利通过、甚至拿到高分的,…
物联网设备硬件级安全防护与STM32集成实践 1. 为什么物联网设备需要硬件级安全防护在智能家居和工业物联网项目中,我见过太多因安全漏洞导致的数据泄露案例。去年调试的一个智能农业项目就曾遭遇固件篡改攻击——攻击者通过云端漏洞反向控制了灌溉系统。这类事件暴露出传统MCU方案的安全短板:仅靠…
广州海珠区卫生间漏水到楼下,不砸砖也能做防水补漏吗 - 超人防水 广州海珠区卫生间漏水到楼下,不砸砖也能做防水补漏吗 易达邦防水本地靠谱防水修缮 | 1小时上门勘测 | 明码标价 先修后付 | 长效质保 广州常年多雨潮湿,回南天、龙舟水轮番来袭,不少住户家中卫生间渗水漏到楼下,楼…
告别臃肿!3步让你的暗影精灵笔记本重获新生 告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%! 做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽 2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集 Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…
智慧飞行 大疆无人机一站式智能管控平台/支持大疆机场/私有化部署 从航线规划、自动飞行、AI识别到数据管理,一个平台全搞定 智慧飞行-大疆无人机一站式智能管控平台/支持大疆机场/私有化部署 企业级全域智能无人机一体化管控平台源码! 专为电力巡检、安防监控、应急救援、测绘勘察等行业打造,让您的无人机舰队实现 “无人化、自动化、智能化” 管理! 🎯 …
揭秘ChatGPT+Mathematica协同教学:为什么92%的初学者在72小时内建立函数直觉? 更多请点击: https://codechina.net 第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…