ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何用Gradle构建并部署Freddy扩展:从源码到Burp插件jar的完整快速开始

如何用Gradle构建并部署Freddy扩展:从源码到Burp插件jar的完整快速开始 如何用Gradle构建并部署Freddy扩展从源码到Burp插件jar的完整快速开始【免费下载链接】freddyAutomatically identify deserialisation issues in Java and .NET applications by using active and passive scans项目地址: https://gitcode.com/gh_mirrors/fre/freddyFreddyDeserialization Bug Finder是 NCC Group 出品的 Burp Suite 扩展能自动识别 Java 与 .NET 应用中的反序列化漏洞支持主动扫描和被动扫描。本文带你用Gradle完成从克隆源码、编译打包到生成Burp 插件 jar并部署的完整流程新手也能快速上手。一、环境准备安装 JDK 11 与 Gradle在开始构建前请先确认本机环境JDK 11build.gradle 中声明了sourceCompatibility 1.11即项目按 Java 11 编译请确保java -version输出为 11 或更高版本GradleFreddy 使用 Gradle 构建系统安装后可通过gradle --version验证能访问 Maven Central 仓库构建时会自动拉取依赖如 Burp Extender API、JUnit 等。 提示如果 JDK 版本不匹配编译时会直接报错这是新手最常踩的坑。二、克隆 Freddy 源码并认识目录结构在项目根目录执行以下命令克隆代码git clone https://gitcode.com/gh_mirrors/fre/freddy克隆完成后几个关键文件值得先了解文件作用settings.gradle声明根项目名为freddybuild.gradle核心构建脚本依赖、Java 版本、jar 打包规则src/burp/BurpExtender.java插件入口对接 Burp 扩展 APIsrc/nb/freddy/modules/java/Java 平台反序列化检测模块XStream、SnakeYAML、Kryo 等 21 个src/nb/freddy/modules/dotnet/.NET 平台检测模块Json.Net、XmlSerializer 等 12 个BappManifest.bmfBApp 应用清单声明插件入口与构建命令注意Freddy 的目录结构与 Gradle 标准布局略有不同源码放在src、测试放在test这一点已在build.gradle中通过sourceSets显式配置。三、执行 gradle jar 一键构建插件一切就绪后进入项目根目录执行构建命令这也是 BApp 清单中声明的官方 BuildCommandgradle jar这条命令会自动完成三件事从 Maven Central 下载依赖包括net.portswigger.burp.extender:burp-extender-api:1.7.22、minlog日志库以及测试用的 JUnit 4 和 PowerMock运行单元测试验证代码正确性全部通过后才会继续打包打出胖 jarbuild.gradle中的jar任务会把编译类路径上的所有依赖类合并进同一个 jar生成开箱即用的自包含插件包。构建成功后产物位于build/libs/freddy-2.2.5.jar版本号2.2.5和发布组trust.nccgroup均在build.gradle中定义文件名由项目名-版本号.jar规则自动生成。四、部署 jar 到 Burp Suite三步加载插件⚠️ Freddy 需要Burp Suite Pro 或 Enterprise版本才能运行清单中ProOnly: True。打开 Burp Pro进入Extender扩展页签点击Add选择刚才构建出的build/libs/freddy-2.2.5.jar点击Load加载成功后扩展列表会出现Freddy, Deserialization Bug Finder日志区显示扩展启动信息即代表部署成功。BappManifest.bmf中声明的EntryPoint: build/libs/freddy-2.2.5.jar与上面的产物路径完全对应说明构建与部署环节已正确衔接。五、部署后快速上手被动 主动双扫描插件加载后Freddy 会提供两类能力帮你定位反序列化风险被动扫描监控 HTTP 流量中的类型指定符与异常特征。例如 FastJson 会在 JSON 中通过$type字段指定对象类型Freddy 能据此识别目标使用的序列化库主动扫描采用异常型触发特征报错、时间型利用ping造成响应延迟、Collaborator 型外域回连确认标记为RCE (Collaborator)三种探测手段尽可能把检测升级为漏洞确认。支持的目标覆盖面很广Java 侧含 XStream、SnakeYAML、Hessian、Kryo、BlazeDS/Red5 AMF 等 21 项.NET 侧含 BinaryFormatter、DataContractSerializer、Json.Net 等 12 项多个模块已具备 RCE 利用能力。六、常见问题与排查清单构建报无效的目标发行版 11→ 当前 JDK 低于 11切换 JDK 后重新执行gradle jar找不到 build/libs 目录→ 尚未成功执行构建先确认gradle jar是否无报错退出Burp 中加载 jar 无反应→ 确认使用的是 Burp Pro/Enterprise社区版不支持加载该插件想单独跑测试→ 可执行gradle test便于在改代码后快速验证。七、总结回顾整个流程克隆源码 → 配置 JDK 11 环境 → 执行gradle jar→ 在 Burp Pro 中加载freddy-2.2.5.jar四步即可完成 Freddy 反序列化检测插件的本地构建与部署。之后你只需在 Burp 中正常发起扫描就能自动发现目标应用中的 Java / .NET 反序列化风险点。【免费下载链接】freddyAutomatically identify deserialisation issues in Java and .NET applications by using active and passive scans项目地址: https://gitcode.com/gh_mirrors/fre/freddy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表