GadgetProbe——探测使用 Java 序列化对象的端点

GadgetProbe——探测使用 Java 序列化对象的端点

描述

您刚刚发现了一个 Java 反序列化错误,您运行了所有 ysoserial 有效负载,但……您什么也没得到。现在怎么办?如果您完全不知道,您如何调试或构建小工具链?

介绍 GadgetProbe,一种可以照亮远程类路径并提高所有人的错误严重程度的工具!

GadgetProbe 采用 Java 类的单词列表,输出序列化的 DNS 回调对象,并报告远程类路径中隐藏的内容。

Burp 扩展使用

Burp 扩展程序自动与 Burp Collaborator 集成以处理 DNS 回调。该扩展程序还包括签名和分析器,用于识别小工具流行源的库版本。

下载版本或按照下面的构建说明进行操作。

加载 Burp 扩展后:

  1. 将存在漏洞的请求发送给入侵者,并突出显示存在漏洞的参数。
动态图

2. 添加 Java 类列表(参见包含的单词列表)

动态图

3. 添加 GadgetProbe 有效负载处理器,以及链中任何其他所需的处理器(例如 Base64 编码)。

动态图

4. 运行入侵者攻击并观察 GadgetProbe Burp Tab 中返回的结果。

动态图

GadgetProbe Java 库使用情况

GadgetProbe 还可以用作专门攻击的 Java 库或 CLI。

import com.bishopfox.gadgetprobe.GadgetProbe
...
// Call the GadgetProbe constructor with your authoritative nameserver (or use Burp collaborator).
GadgetProbe gp = new GadgetProbe("dnscallback.burpcollaborator.net");
// The crafted object "obj" is now ready to be sent using any custom implementation :)
Object obj = gp.getObject("org.apache.commons.collections.functors.invokertransformer");

从源代码构建

# Build JAR (run first)
./gradlew shadowJar

# Build wordlists
./generate_wordlists.sh

工作原理

请参阅我在 Bishop Fox 博客上的文章。

国内下载链接

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享