Gadget_Chain
Java反序列化漏洞Gadget Chain可视化图谱工具
项目介绍
Gadget_Chain是一个交互式的Java反序列化漏洞Gadget Chain可视化工具,帮助安全研究人员直观理解从Source(入口)到Gadget(跳板)再到Sink(执行点)的完整调用链。
在线演示地址:https://gb233.github.io/Gadget_Chain
开源仓库地址:https://github.com/gb233/Gadget_Chain
核心功能
交互式图谱展示:使用Vue Flow实现节点拖拽、缩放、点击查看详情
双链对比模式:对比两条Gadget Chain的差异,Y型布局展示共用节点和独有节点
代码高亮对比:使用Shiki实现Java代码语法高亮,支持差异行高亮
步进播放:自动播放展示调用链执行过程
MiniMap导航:左下角缩略图快速定位
功能演示截图
交互式图谱展示:

双链对比模式:

步进播放:

支持的Gadget Chain
说明: 本工具支持的Gadget Chain列表参考自 ysoserial项目收集的Payload清单。以下列表中的Gadget Chain名称与ysoserial项目中的Payload名称一一对应,方便安全研究人员对照使用。
Commons Collections (7个)
CommonsCollections1
CommonsCollections2
CommonsCollections3
CommonsCollections4
CommonsCollections5
CommonsCollections6
CommonsCollections7
Spring Framework (2个)
Spring1
Spring2
Hibernate (2个)
Hibernate1
Hibernate2
JBoss (3个)
JBossInterceptors1
JavassistWeld1
Mozilla Rhino (2个)
MozillaRhino1
MozillaRhino2
MyFaces (2个)
MyFaces1
MyFaces2
其他 (17个)
URLDNS
AspectJWeaver
BeanShell1
C3P0
Click1
Clojure
CommonsBeanutils1
FileUpload1
Groovy1
JSON1
JRMPClient
JRMPListener
Jython1
Rome
Vaadin1
Wicket1
JDK内置 (1个)
Jdk7u21
总计: 34+ 个Gadget Chain
技术栈
前端框架: Vue 3 + TypeScript
构建工具: Vite
图谱引擎: Vue Flow 1.x
代码高亮: Shiki
样式: Tailwind CSS
布局: Dagre.js
快速开始
安装依赖
npm install
开发模式
npm run dev
构建
npm run build
预览生产构建
npm run preview
使用说明
单链模式
从顶部下拉框选择Payload
点击节点查看代码详情
使用步进播放器自动播放调用链
对比模式
点击右上角"对比模式"按钮
选择Chain A和Chain B
查看Y型布局展示的共用节点和独有节点
点击节点进行代码对比
项目结构
gadget-chain-visualizer/
├── src/
│ ├── components/ # Vue组件
│ │ ├── GadgetGraph.vue # 图谱主组件
│ │ ├── CompareView.vue # 对比模式组件
│ │ ├── GadgetNode.vue # 节点组件
│ │ ├── CodePanel.vue # 代码面板
│ │ └── PayloadSelector.vue # Payload选择器
│ ├── data/ # Gadget数据
│ │ ├── gadgets/ # 各Chain定义
│ │ └── types.ts # 类型定义
│ ├── App.vue # 根组件
│ └── main.ts # 入口
├── docs/ # 文档
├── README.md
├── LICENSE
└── .gitignore
贡献指南
欢迎提交Issue和Pull Request!
许可证
致谢
本工具支持的Gadget Chain名称列表参考自 ysoserial项目收集的Payload清单。感谢frohoff和所有ysoserial贡献者为Java反序列化安全研究做出的贡献。
注意: 本工具仅供安全研究和教育目的使用,请勿用于非法用途。
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


