Releases: SummerSec/ShiroAttack2
ShiroAttack2 v5.1.1
ShiroAttack2 v5.1.1
更新内容(commits)
新增
GUI 全新界面:现代 CSS 主题(app.css)、Header/POST Body 并排布局、对齐网格重排
JMG 内存马生成 Tab:新增 pass/path/key 输入字段,支持 MemshellGenerateRequest 参数化
CLI --jeg 标志:exec 命令支持第三方 jEG 回显生成器
CLI --dynamic-memshell 标志:运行时 Javassist 编译内存马源码(替代硬编码 Base64)
jEG 回显增强:MODE_CMD 设置 GADGET_JDK_TRANSLET + shiroKey + Authorization 头(明文),支持明文/Base64 双格式响应解析
Gadgets.createTemplatesImpl(byte[]):支持直接传入字节码构造 TemplatesImpl,Javassist superclass 修复
修复
修复 GUI 指定 Key 爆破在多 Shiro 场景下 multiShiroMode 硬编码 false 导致误判(Closes #89)
修复 GodzillaFilter/Servlet/TomServlet parseObj 在 coyote.Request 场景下的空指针(添加 fallback + null guards)
修复 classifyHttpResponse 回显标记检测优先级(echo markers 应在 deleteMe 之前判断)
修复 coerceRememberMeCookieHeader 不接受 Base64 格式 payload 的问题
消除启动时 SLF4J "Failed to load class StaticLoggerBinder" 警告(添加 slf4j-nop 依赖)
消除启动时 MLog/mchange java.util.logging 初始化信息输出
移除 echo 调试日志和 rememberMe 原始打印噪音
本版本 Release 使用 Azul Zulu 8 + JavaFX 构建。
与当前本地开发环境保持一致,便于复现和排查。
下载说明
| 文件名 | 说明 |
|---|---|
*-zulu-8-jfx.jar |
Azul Zulu 8 + JavaFX 单文件运行版本 |
*-zulu-8-jfx-bundle.zip |
Azul Zulu 8 + JavaFX 完整压缩包,包含 jar、lib/、data/ |
运行方法
java -jar shiro_attack-<version>-<jdk>.jar推荐优先下载
bundle.zip,解压后直接运行。
若需自行构建,请确保仓库内libs/jEG-core-1.0.0.jar与libs/jmg-sdk-1.0.9.jar可用。
ShiroAttack2 v5.1.0
ShiroAttack2 v5.1.0
更新内容(commits)
- release: 5.1.0 — CLI 命令行模式、Gadget 兼容性修复、内存马/改 Key 支持 (1cfdd85)
- Merge pull request #88 from SummerSec/feature-download-key-dict (a495bd0)
- fix: 所有 _183 Gadget 的 serialVersionUID 从 1.9.2 修正为 1.8.3 (259e474)
- Merge pull request #87 from SummerSec/feature-download-key-dict (f060227)
- fix: CommonsBeanutilsString_183 serialVersionUID 写反,1.9.2 -> 1.8.3 (1153850)
- Merge pull request #86 from SummerSec/feature-download-key-dict (edd306d)
- feat: 下载 Key 字典按钮移至 AES GCM 和检测当前密钥之间 (50701a9)
- Merge pull request #85 from SummerSec/feature-download-key-dict (b9ec697)
- feat: 下载 Key 字典按钮移至回显区域下方对齐,缩短按钮文字 (6d83c0e)
- Merge pull request #84 from SummerSec/feature-download-key-dict (5d34496)
- feat: 爆破密钥同时测试 AES-CBC 和 AES-GCM 两种模式 (f79e74a)
- Merge pull request #83 from SummerSec/feature-download-key-dict (e1d768e)
- feat: 将下载最新 Key 字典按钮从菜单移至检测当前密钥左侧 (a2dbfca)
- Merge pull request #82 from SummerSec/feature-download-key-dict (0306f9b)
- feat: 添加一键下载最新 Key 字典功能,将 data/shiro_keys.txt 纳入版本管理 (cb6e403)
本版本 Release 使用 Azul Zulu 8 + JavaFX 构建。
与当前本地开发环境保持一致,便于复现和排查。
下载说明
| 文件名 | 说明 |
|---|---|
*-zulu-8-jfx.jar |
Azul Zulu 8 + JavaFX 单文件运行版本 |
*-zulu-8-jfx-bundle.zip |
Azul Zulu 8 + JavaFX 完整压缩包,包含 jar、lib/、data/ |
运行方法
java -jar shiro_attack-<version>-<jdk>.jar推荐优先下载
bundle.zip,解压后直接运行。
若需自行构建,请确保仓库内libs/jEG-core-1.0.0.jar与libs/jmg-sdk-1.0.9.jar可用。
ShiroAttack2 5.0.2
ShiroAttack2 5.0.2
更新内容(commits)
- release: 5.0.2 (d81ddbe)
- fix: 自定义 Content-Type 时请求头出现重复 Content-Type 行 (6ef7dd9)
- fix: macOS Apple Silicon + Zulu JDK 8 下 AWT native library 加载崩溃导致 GUI 启动失败 (c52104f)
- feat: 统一 jMG 与内置内存马 Shiro 注入流程 (c8c0969)
- docs: 5.0.1 发行说明与 Release 正文生成 (ef63708)
本版本 Release 使用 Azul Zulu 8 + JavaFX 构建。
与当前本地开发环境保持一致,便于复现和排查。
下载说明
| 文件名 | 说明 |
|---|---|
*-zulu-8-jfx.jar |
Azul Zulu 8 + JavaFX 单文件运行版本 |
*-zulu-8-jfx-bundle.zip |
Azul Zulu 8 + JavaFX 完整压缩包,包含 jar、lib/、data/ |
运行方法
java -jar shiro_attack-<version>-<jdk>.jar推荐优先下载
bundle.zip,解压后直接运行。
若需自行构建,请确保仓库内libs/jEG-core-1.0.0.jar与libs/jmg-sdk-1.0.9.jar可用。
ShiroAttack2 5.0.1
ShiroAttack2 5.0.1
更新内容
本版本为 5.0.0 的维护更新,侧重 命令执行与请求头合并、CommonsBeanutils 1.8.3 链兼容性,以及若干 UI / 集成侧调整。
命令执行与 HTTP
合并请求头时改为:先应用全局头,再以本次请求头覆盖(Cookie 仍与已有值合并),避免全局里的 Authorization 覆盖命令执行请求中的 Basic 命令。
bodyHttpRequest 在 GET 且空 body 时使用 flattenHutoolResponse 汇总响应头与正文,与链探测一致,便于解析正文中的 $$$...$$$。
修正 bodyHttpRequest 中 | 为 || 的逻辑条件。
CommonsBeanutils 1.8.3
多个 *_183 链中 BeanComparator 的 serialVersionUID 与目标运行时 commons-beanutils 1.8.3 对齐,减少 InvalidClassException。
其它
MainController、gui.fxml、jEG 回显相关类、.gitignore 等与 5.0 分支一致的增量更新。
升级说明
若曾在全局请求头中配置 Authorization,在 5.0.0 下可能覆盖命令执行专用头;5.0.1 已改为 单次请求头优先。
运行环境与产物形态与 5.0.0 相同,推荐下载 Release 中的 bundle.zip。
- release: 5.0.1 (11bcc6c)
本版本 Release 使用 Azul Zulu 8 + JavaFX 构建。
与当前本地开发环境保持一致,便于复现和排查。
下载说明
| 文件名 | 说明 |
|---|---|
*-zulu-8-jfx.jar |
Azul Zulu 8 + JavaFX 单文件运行版本 |
*-zulu-8-jfx-bundle.zip |
Azul Zulu 8 + JavaFX 完整压缩包,包含 jar、lib/、data/ |
运行方法
java -jar shiro_attack-<version>-<jdk>.jar推荐优先下载
bundle.zip,解压后直接运行
若需自行构建,请确保仓库内libs/jEG-core-1.0.0.jar与libs/jmg-sdk-1.0.9.jar可用
ShiroAttack2 v5.0.0-r4
ShiroAttack2 5.0.0
本版本围绕 UI 体验、第三方生成器集成、Shiro Key 修改能力、日志排障能力做了较大幅度增强,并补充了英文文档与发布流程支持。
主要更新
- 重构主界面与功能区布局,优化参数区、输出区、底部信息区显示效果
- 新增中英文界面切换,主要菜单、标签页、按钮、提示文案支持运行时切换
- 新增应用窗口 icon、GitHub 链接、默认目标地址与更合理的窗口尺寸
- 优化 Header / POST Body 输入方式,改为长文本模式并默认按用户输入直接覆盖发送
- 输出框统一支持长文本查看,适合 rememberMe、Base64、响应正文等场景
Shiro Key 相关增强
- 新增“修改 Shiro Key”独立功能页
- 支持多种 rememberMeManager 定位与修改变体:
filterConfigs -> shiroFilterFactoryBeangetFilterRegistration -> shiroFilterFactoryBeanfilterConfigs -> 常见 Shiro 名依次匹配getFilterRegistration -> 常见 Shiro 名依次匹配filterConfigs -> 包含 shiro 的名称扫描
- 新增高风险模式:
高风险: 全候选 rememberMeManager 扫描
- 修改 Key 后自动进行新旧 Key 验证:
- 新 Key 可用 / 旧 Key 失效
- 新 Key 可用但旧 Key 仍可用
- 新 Key 验证失败
- 支持修改 Key 历史记录、清空历史、结果分级提示
第三方生成器集成
Echo Generator(jEG)
- 集成
java-echo-generator - 支持来源切换:
传统模式jEG
- 支持更多服务端、模式、格式组合
- 未提供 Shiro Key 时,允许优先生成第三方原始结果用于调试
- 输出增加参数组合信息与失败原因展示
Memshell Generator(jMG)
- 集成
java-memshell-generator - 支持来源切换:
传统模式jMG
- 扩展了工具、服务端、马类型、格式等下拉选项
- 增强对不同 jMG 版本 payload 提取方式的兼容
- 失败时显示第三方原始错误,并明确回退状态
- 针对
SERVER_SPRING_MVC增加默认马类型联动与风险提示
爆破与利用体验优化
- “爆破利用链及回显”改为后台任务执行
- 新增利用链爆破进度条与停止按钮
- 每组组合实时输出进度与测试结果,不再长时间无反馈
- “爆破密钥”同样支持后台任务、进度条、停止按钮
- 修复多个 JavaFX 线程更新问题,避免界面卡死或假死
- 未找到构造链时不再强制弹窗,仅在日志区输出结果
命令执行与输出改进
- 区分命令输入与输出内容展示:
[command][result][error]
- 修复命令执行时对非标准返回格式的误判
- 优化编码处理,避免正常输出被误识别为失败
- 日志文件改为 UTF-8 写入
日志与排障
- 新增文件日志能力
- 日志目录:
logs/
- 每次运行按时间戳生成独立日志文件,便于排查:
shiro_attack-yyyyMMdd-HHmmss.log
- 关键功能入口、异常栈、任务失败、代理设置等均写入日志文件
文档与发布流程
- 新增英文 README:
README_EN.md
- 新增使用文档:
docs/USAGE.md
- 更新 README 内容与截图
- 优化 GitHub Release 工作流,支持自动生成 changelog
兼容性说明
- 推荐继续使用 Java 8 / JavaFX 8 环境运行
- 修改 Shiro Key 的“高风险模式”会尝试覆盖更多候选对象,但不等于一定覆盖集群所有节点
- 对于多 rememberMeManager / 多节点环境,建议结合新旧 Key 自动验证结果判断是否完全生效
版本说明
- 版本号更新为:
5.0.0 - 主产物:
shiro_attack-5.0.0-all.jar
修复低版本jdk不兼容的问题
修复自定义请求bug,支持复杂请求头
fix bug
4.5.4
4.5.3
4.5.3 不在采用加载lib的方式去处理不同cb版本的问题,而是采用suuid字段修改的方式。
4.5.3 版本修改了冰蝎内存马的问题,参考 rebeyond/Behinder#187 和https://github.com/Y4er/ysoserial/blob/main/src/main/java/ysoserial/payloads/templates/SpringInterceptorTemplate.java