v2.1.0
Added
- 添加 BigInteger、ScriptEngineBigInteger 打包方式(#86 by @wanswu)
- 添加 SpELSpringGzipJDK17 打包方式(#83 by @xcxmiku and @ReaJason)
- 添加 JXPathSpringGzipPacker、JXPathSpringGzipPackerJDK17 打包方式(GeoServer 漏洞注入)
- 添加 Base64URLEncoded 打包方式(配合回显马进行小马拉大马测试)
- 支持回显马在进行自定义字节码执行时去除 Java 魔数流量特征
改为只需要如下方式
/path/code?payload=yv66vgAAADIBVQEAJ29yZy9hcGFj.../path/code?payload=IBVQEAJ29yZy9hcGFj...
Fixed
- 修复非调试模式下,构造方法中的 e.printStackTrace() 并没有被移除
- 修复使用 Dockerfile 进行自定义构建时,自定义路由无法正常工作
- 修复探测内存马中 Sleep 和 DNSLog 自定义类名失效(#89 Thanks @yinsel)
- 修复自定义内存马中,不会自动调用 listener 添加 getResponseFromRequest 实现代码和 valve 修改包名的逻辑(使用自定义内存马请参考:如何使用自定义内存马功能 进行实现,否则会出现不可用的问题)
- 修复使用 SDK 时,Agent Packer 在 jar-with-dependencies(fatjar) 中会出现打包整个 jar 的问题
- 修复 Tomcat Listener 注入会使之前所有 Listener 失效(#93)
Changed
- 修改 Packer 中对于 Thread.currentThread().getContextClassLoader() 的纯依赖改为新建 URLClassLoader,使得回显马可多次执行
- 去除 logback(java11)和 okhttp 无用依赖,解决使用 SDK 打包部分场景会出现类版本不支持的问题
- 实现 Lombok SuperBuilder 自定义 Builder 简化配置类的创建代码(#9f8f3baa)
- 优化命令执行内存马,改为和回显马逻辑一致,使用 ProcessBuilder.redirectErrorStream 简化流读取
- 修改 packer 中脚本存放添加 memshell-party 一级,防止打包成 fatjar 时文件全在根目录,可能会被覆盖导致功能破坏
- 优化资源读取,通过工具类 loadTemplateFromResource 统一实现
- 优化 Agent Attacher JDK11 异常处理
- 依赖更新
Full Changelog: v2.0.0...v2.1.0
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.1.0.jar