Skip to content

Release 1.4.4

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Jan 08:09

🇨🇳 中文更新日志

🚀 新增特性

  • JRMP 绕过:支持高版本 JDK 的 JRMP 反序列化绕过 (@n1ght)。
  • 新增 Gadget:新增 JtaTransactionManager 利用链。
  • MemShell 支持:支持 MemShellParty v2.4.0 版本 (@ReaJason)。
  • 自定义执行:新增 ExecCustom 功能支持 #32
  • Fastjson Payload:新增 Fastjson MySQL 不出网 Payload (1.2.68, 1.2.76-1.2.80) (@unam4)。
  • 新增 Gadget:新增 SpringBeansFastjson 利用链 (@unam4)。
  • 新增加载器:新增 SpringBeanXMLDecoderClassLoader (@xcxmiku)。
  • Fastjson Gadget:新增 FastjsonPostgreSQLJdbc1_2_80 利用链 (@unam4 @xcxmiku)。

⬆️ 优化与改进

  • 若依 Shell 优化:定制若依 Shell,表达式注入内存马小于 1W 字符,并修复定时任务跨线程 Context 丢失问题 (@unam4)。
  • Ruoyi 兼容性:RuoyiShellBytecode 改为 Valve 实现,兼容分离版 (@unam4)。
  • Groovy 链优化:GroovyGString 利用链 (@xcxmiku)。
  • FakeMySQL 增强:FakeMySQLPipeFile 新增 MysqlPassword 属性 (@unam4)。
  • 清理与描述:删除无效利用链,更新高版本利用链描述,AOP 代理支持选择版本 (@unam4)。
  • 依赖兼容:兼容 Commons IO 2.0-2.7,解决 Fastjson 1.2.80 expectedClass 编码问题 (@unam4 @xcxmiku)。

🐛 问题修复

  • Hessian 修复:修复 Hessian XSLT 链在 Windows 下的路径问题 (@xcxmiku)。
  • CLI 修复:修复 CLI 错误 #33
  • SpringLoader 修复:修复 SpringLoader Base64 错误 #29
  • Issue 修复:修复 Issue #30
  • 综合修复:修复 useJdkAT Bug,SpringAOP aspectjweaver 兼容旧版,修复 MozillaRhino2 报错 (@xcxmiku)。
  • Javassist 修复:重命名前分离 pooled CtClass (@xcxmiku)。
  • 编码修复:修复 StandardCharsets 兼容性问题 (@xcxmiku)。
  • 构建修复:修复 K2 构建期空指针异常 (@xcxmiku)。
  • Groovy 修复:修复 Groovy 链与新增其他链 (@xcxmiku)。
  • FindClass 兼容性:FindClass 兼容性 (@xcxmiku)。
  • FakeMySQLPipeFile修复:FakeMySQLPipeFile PasswordBuf 置空,避免缓存影响 (@unam4)。

❤️ 致谢

English Changelog

🚀 New Features

  • JRMP Bypass: Supported JRMP deserialization bypass for higher JDK versions (@n1ght).
  • New Gadget: Added JtaTransactionManager gadget.
  • MemShell Support: Supported MemShellParty v2.4.0 (@ReaJason).
  • Custom Execution: Added support for ExecCustom #32.
  • Fastjson Payload: Added Fastjson MySQL payload for non-internet environments (1.2.68, 1.2.76-1.2.80) (@unam4).
  • New Gadget: Added SpringBeansFastjson gadget (@unam4).
  • New Loader: Added SpringBeanXMLDecoderClassLoader (@xcxmiku).
  • Fastjson Gadget: Added FastjsonPostgreSQLJdbc1_2_80 gadget (@unam4 @xcxmiku).

⬆️ Improvements

  • Ruoyi Shell Optimization: Customized Ruoyi Shell (expression injection memory shell < 1W chars) and fixed scheduled task cross-thread context loss (@unam4).
  • Ruoyi Compatibility: Changed RuoyiShellBytecode to Valve implementation for split version compatibility (@unam4).
  • Groovy Hardening: Hardened GroovyGString gadget chain (@xcxmiku).
  • FakeMySQL Enhancement: Added MysqlPassword property to FakeMySQLPipeFile (@unam4).
  • Cleanup & Updates: Removed invalid chains, updated high-version chain descriptions, and added version selection for AOP proxy (@unam4).
  • Dependency Compatibility: Compatible with Commons IO 2.0-2.7, resolved Fastjson 1.2.80 expectedClass encoding issue (@unam4 @xcxmiku).

🐛 Bug Fixes

  • Hessian Fix: Fixed Hessian XSLT chain path issue on Windows (@xcxmiku).
  • CLI Fix: Fixed CLI error #33.
  • SpringLoader Fix: Fixed SpringLoader Base64 error #29.
  • Issue Fix: Fixed Issue #30.
  • General Fixes: Fixed useJdkAT bug, SpringAOP aspectjweaver legacy compatibility, and MozillaRhino2 errors (@xcxmiku).
  • Javassist Fix: Detached pooled CtClass before renaming (@xcxmiku).
  • Encoding Fix: Fixed StandardCharsets compatibility issue (@xcxmiku).
  • Build Fix: Fixed NPE during K2 build (@xcxmiku).
  • Groovy Fix: Fixed Groovy chain entry and sandbox extension (@xcxmiku).
  • Sandbox Compatibility: Fixed compatibility between Groovy sandbox chain and FindClass (@xcxmiku).
  • Cache Fix: Cleared FakeMySQLPipeFile PasswordBuf to avoid cache side effects (@unam4).

❤️ Acknowledgements


docker run -d \
  --name java-chains \
  --restart=always \
  -p 8011:8011 \
  -p 58080:58080 \
  -p 50389:50389 \
  -p 50388:50388 \
  -p 3308:3308 \
  -p 13999:13999 \
  -p 50000:50000 \
  -p 11527:11527 \
  -e CHAINS_AUTH=true \
  -e CHAINS_PASS= \
  javachains/javachains:1.4.4