fastjson 1.2.24 反序列化漏洞(审计分析)

这篇具有很好参考价值的文章主要介绍了fastjson 1.2.24 反序列化漏洞(审计分析)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境

JDK 8u181

Fastjson 1.2.24

fastjson 1.2.24  反序列化漏洞(审计分析)

POC

fastjson 1.2.24  反序列化漏洞(审计分析)

跟进 parse 方法

fastjson 1.2.24  反序列化漏洞(审计分析)

跟进到底层deserialze 方法

Poc 中传入的 dataSourceName : ldap://192.168.3.229:8084/vnSYPYwMs 值

这里实际对应 setDataSourceName 方法,调用此方法并传入 ldap

fastjson 1.2.24  反序列化漏洞(审计分析)

跟进 setDataSourceName 方法,这里只是简单赋值

 fastjson 1.2.24  反序列化漏洞(审计分析)

步出回此方法

fastjson 1.2.24  反序列化漏洞(审计分析)

继续步出,进入parseRest方法

fastjson 1.2.24  反序列化漏洞(审计分析)

跟进 deserialze 方法

fastjson 1.2.24  反序列化漏洞(审计分析)

 文章来源地址https://www.toymoban.com/news/detail-413222.html

 

 继续跟进 setValue 方法

fastjson 1.2.24  反序列化漏洞(审计分析)

此处通过 invoke 反射实现方法

POC 传入的 autoCommit : true 对应

setAutoCommit 方法

fastjson 1.2.24  反序列化漏洞(审计分析)

跟进 connect 方法

fastjson 1.2.24  反序列化漏洞(审计分析)

此处通过 lookup 实现 ldap 请求

fastjson 1.2.24  反序列化漏洞(审计分析)

检测到 LDAP 请求

fastjson 1.2.24  反序列化漏洞(审计分析)

如果是LDAP请求,需要JDK版本<= 8u181

如果是RMI请求,需要JDK版本<= 8u112

那为什么会调用对应值set方法呢?尝试实验

先构造加载类

fastjson 1.2.24  反序列化漏洞(审计分析)

再构造Test类

fastjson 1.2.24  反序列化漏洞(审计分析)

 

通过输出分析发现 fastjson 的反序列化方法,parse 和 parseObject 类中

1、在调用 parseObject 方法时,会默认调用所有get方法,并调用传入参数的set方法

2、在调用 parse 方法时,只调用传入参数的set方法

所以可以通过 com.sun.rowset.JdbcRowSetImpl 类的 setDataSourceName 先进行赋值

再通过 com.sun.rowset.JdbcRowSetImpl 类的 autoCommit 方法去间接调用 connect 方法,去执行 lookup 方法执行 ladp 请求

 

到了这里,关于fastjson 1.2.24 反序列化漏洞(审计分析)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • fastjson反序列化漏洞学习(一)

    Fastjson 是阿里巴巴开源的一个 Java 的 JSON 解析库。它提供了快速、高效、简洁的 JSON 解析功能。Fastjson 不仅支持常见的 JSON 数据类型(如字符串、数字、布尔值、数组、对象等),还支持 Java 原生数据类型(如整型、浮点型、数组、集合等)与 JSON 之间的互相转换。Fastjson 支

    2024年02月04日
    浏览(48)
  • FastJson中AutoType反序列化漏洞

    Fastjson1.2.80 反序列化漏洞情报,攻击者可以利用该漏洞攻击远程服务器, 可能会造成任意命令执行。在Fastjson=1.2.83的版本中,通过新的Gadgets链绕过autoType开关,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,实现了反序列化漏洞利用的远程代码执行效果,同时,此

    2024年02月07日
    浏览(49)
  • Fastjson反序列化漏洞原理与复现

    Fastjson是java的一个库,可以将Java对象转化为json格式的字符串,也可以将json格式的字符串转化为Java对象。 Fastjson提供了 toJSONString() 和 parseObject() 方法来将Java对象与JSON相互转换。调用 toJSONString() 方法即可将对象转换成 JSON 字符串, parseObject() 方法则反过来将JSON字符串转换成

    2024年02月12日
    浏览(62)
  • Fastjson反序列化远程代码执行漏洞

    据国家网络与信息安全信息通报中心监测发现,开源Java开发组件Fastjson存在反序列化远程代码执行漏洞。攻击者可利用上述漏洞实施任意文件写入、服务端请求伪造等攻击行为,造成服务器权限被窃取、敏感信息泄漏等严重影响。 先贴一个解决漏洞的方案: 不过任何升级一

    2024年02月09日
    浏览(45)
  • 渗透测试-Fastjson反序列化漏洞getshell

    目录 前言 测试环境准备 dnslog测试 搭建rmi服务器准备恶意类 引用JdbcRowSetImpl攻击 反弹shell$命令执行 总结 :fastjson 1.2.24反序列化导致任意命令执行漏洞 注:本次渗透测试全在虚拟机中进行仅用于学习交流,请勿在实际网络中攻击他人服务器。 前言         最原始

    2024年02月07日
    浏览(60)
  • 【java安全】FastJson反序列化漏洞浅析

    0x00.前言 前面我们学习了RMI和JNDI知识,接下来我们就可以来了解一下FastJson反序列化了 0x01.FastJson概述 FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持 将JavaBean序列化为JSON字符串,也可以将JSON字符串反序列化到JavaBean 0x02.FastJson使用 首先我们需要使用

    2024年02月11日
    浏览(51)
  • fastJson反序列化漏洞和log4j漏洞

    有 attach.class (编译好的文件) 攻击者建立rmi服务端,于rmi服务端建造一系列攻击对象 ,假设远程地址为 http://abc,可url链接到恶意class-attach.class 若被攻击者访问到此服务 rmi://abc/attach.class ,静态代码块会优先加载,无需构造对象。 fastJson通过序列化漏洞 fastJson=1.2.47 (高版本添

    2024年02月16日
    浏览(58)
  • FastJson反序列化分析

    前言:网上关于FastJson的分析文章一大片,本文只是笔者在实践操作中理解的一些东西,不算特别详细,留作日后复习,欢迎一起交流 什么是FastJson? Fastjson是一个由阿里巴巴维护的一个json库。它采用一种“假定有序快速匹配”的算法,是号称Java中最快的json库。 先来看看一

    2024年02月06日
    浏览(45)
  • Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

    什么是JNDI JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。 JNDI支持的服务主要有:DNS、LDAP、CORBA、RMI等。 简单从安全角度

    2024年02月09日
    浏览(46)
  • Java代码审计&原生反序列化&CC链跟踪分析

    希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢!   个人博客链接:CH4SER的个人BLOG – Welcome To Ch4ser\\\'s Blog 在前一篇文章我分析了Commons Collections1链​​​​​​​,其中跟链的顺序是:source=gadget=sink,但如果站在漏洞挖掘的角度顺序是倒过来的:sink=gadget=s

    2024年01月24日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包