漏洞复现—fastjson反序列化漏洞1.2.24/1.2.47

本文详细介绍了阿里巴巴的Fastjson库中的反序列化漏洞,涉及1.2.24和1.2.47版本。通过解释漏洞原理、影响版本和复现思路,展示了如何在复现环境中利用RMI和LDAP进行攻击,包括启动RMI服务、构造payload并反弹shell的过程。
摘要由CSDN通过智能技术生成

基础知识

Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。
反序列化常用的两种利用方式,一种是基于rmi,一种是基于ldap。RMI是一种行为,指的是Java远程方法调用。

漏洞原理

Fastjson提供了autotype功能,允许用户在反序列化数据中通过“@type”指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的“Gadget”),则会造成一些严重的安全问题。并且在Fastjson 1.2.47及以下版本中,利用其缓存机制可实现对未开启autotype功能的绕过。
在这里插入图片描述

影响版本

Fastjson1.2.47以及之前的版本

复现思路

  1. 云主机B 的内置vulhub8090 端口搭建实验靶场
  2. 云主机B 的 6666 端口使用 python 开启一个简易的 web 站点
  3. 云主机B 的 9999 端口开启一个 rmi 服务(rmi 远程方法调用,一台机器上的程序调用另一台机器上的方法)
  4. 云主机B 的 2333 端口监听反弹过来的 shell

注:本次复现仅使用一个云主机实现

复现—Fastjson1.2.24


前情提要:云主机B作为攻击方,云主机内部靶场镜像开启Fastjson1.2.24漏洞容器作为受害方。

(1) 在云主机B中开启环境


查看和删除正在运行的容器:

docker ps -aq /rm 

在这里插入图片描述
启动Fastjson1.2.24漏洞环境:

docker-compose up -d

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值