Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ColonelClustered — 一个Java Burp插件,对响应进行文本聚类,根据服务器响应的实际内容识别异常值/分组,例如来自Intruder运行的结果。 | Kitploit
工具/GitHubGitHub/hoodoer/colonelclustered
漏洞分析Web代理与拦截Web应用程序漏洞利用Web安全模糊测试渗透测试实用工具与框架机器学习
GitHubhoodoer/colonelclustered

ColonelClustered

一个Java Burp插件,对响应进行文本聚类,根据服务器响应的实际内容识别异常值/分组,例如来自Intruder运行的结果。

查看仓库
12115天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Colonel Clustered - 响应相似度聚类 (v1.0.1)

一个用于对 HTTP 响应进行聚类以发现异常值的 Burp Suite 扩展。

简介

这是我多年来一直想构建的一个插件,原因很简单:我对我们在 Burp intruder 中分析模糊测试攻击结果的方式感到有些恼火。在模糊测试攻击中,我们通常寻找服务器响应的变化。而我们通过查看状态码、响应时间和响应大小来寻找这些差异。所有这些都是对响应内容的间接度量。当然,作为渗透测试人员,我们没有时间去阅读数千个服务器的内容来寻找响应内容的差异。但我们当然可以让算法替我们完成这件事。

这就是这个插件的用武之地。它使用文本聚类技术来分析响应的内容,并根据相似度将它们分组到不同的簇中。它为你提供了另一种查看 intruder 模糊测试攻击结果的方式,并快速识别出那些不同的服务器响应。

工作原理

Colonel Clustered 提供两种不同的算法来执行响应聚类。默认算法相对较快,另有一个可选的深度分析算法,擅长发现异常值,但扩展性不佳。好吧,两者扩展性都不好,我不建议向这个插件投喂 5 万条响应。较快/默认算法的复杂度为 O(n^2),而深度分析算法的复杂度为 O(n^3)。所以在将 intruder 结果发送给它处理时请记住这一点。

  1. 内容感知分词:该扩展首先检查每个响应的 Content-Type 头,以应用最智能的分词策略:

    • HTML:剥离所有标签和脚本,然后对可见文本生成基于字符的 5-gram。这包括对数字进行净化处理,以确保对模板化内容中的细微变化(如 ID)具有鲁棒性。
    • JSON:提取所有键及其嵌套路径作为 token,忽略值。对于数组,它会分析所有包含对象的结构。
    • Text:对纯文本内容生成基于字符的 5-gram,同样对数字进行净化处理以增强模板鲁棒性。
    • Binary/Other:如果内容不是基于文本的,它会生成一组 5 字节的 n-gram 来查找二进制数据中的相似性。
  2. 预分组:为了在数千条响应的情况下仍保持快速,该扩展执行一次遍历,将所有完全相同的响应分组。它计算每个响应 token 集合的哈希值,并将所有共享相同哈希值的项分组。这意味着昂贵的聚类算法只需在规模小得多的唯一响应正文集合上运行。

  3. 双聚类算法:Colonel Clustered 提供两种不同的聚类算法:

    • 快速扫描(默认):当你向该扩展发送多个请求/响应时,会自动运行一种高性能的基于 DBSCAN 的算法。

      • 自动 Epsilon 调优:它使用 Kneedle 算法自动确定最优的 epsilon(密度半径),以适应数据集的特性。
      • 异常值检测(minPts=2):minPts 固定为 2,使其在识别唯一响应或仅与另一个项共享相似性的响应方面非常有效,确保敏感的异常值检测。
    • 深度分析(手动触发):原始的、计算量更大的层次聚类算法可通过 "Deep Analysis" 按钮使用。此选项专为需要更细粒度且可能不同的聚类视角的场景而设计,利用 Average Linkage 来改善簇的内聚性。

      • 它使用唯一响应之间的 Jaccard 距离构建相似度矩阵。
      • 它迭代地合并最相似的簇,记录合并距离以确定最优阈值。
  4. 异常值合并:聚类后,任何仅包含单个唯一成员的组都被视为异常值。所有此类异常值随后会在 UI 中合并为一个方便的 "Outliers" 组。

这两种算法应该能提供一种简便的方法来自动识别内容不同的服务器响应,即使响应大小是响应差异的不可靠度量时也是如此。

使用方法

  1. 加载扩展:

    • 转到 Burp Suite 中的 Extensions 选项卡。
    • 点击 Add 并选择 ColonelClustered.jar 文件。
    • 应会出现一个名为 "Col. Clustered" 的新选项卡。
    • 注意:希望我能尽快将其提交到 BAPP 商店,如果被接受我会更新 README。
  2. 发送响应进行分析:

    • 转到 Burp 中的任意工具,例如 Intruder 结果或 Proxy 历史记录。
    • 选择一个或多个请求/响应项。
    • 右键单击并选择 "Send to Colonel Clustered"。
    • 默认的快速扫描将自动开始,并会出现一个进度条来监控分析过程。
  3. 执行深度分析(可选):

    • 如果需要更详细的层次聚类,请点击 "Deep Analysis" 按钮。
    • 注意:如果你正在分析大量项,扫描开始前会出现关于潜在性能问题的警告。
    • 会出现一个进度条,让你可以监控分析过程。
  4. 在四窗格 UI 中分析结果:

    • "Colonel Clustered" 选项卡使用四窗格布局,帮助你快速浏览结果。
    • 左上(簇):此窗格显示找到的簇,包括一个特殊的 "Outliers" 组。每个条目显示该簇中的项数。
    • 左下(簇成员):在上方窗格中选择一个簇,即可在此表中查看其所有成员。该表包含以下几列:
      • Request/Response Pair:该项的原始索引。
      • Status Code:HTTP 响应状态码。
      • Length:响应正文的长度(以字节为单位)。
      • Content-Type:响应的 Content-Type 头。
    • 排序:点击表中的任意列标题即可对该簇内的项进行排序,让你可以轻松找到最大/最小的响应,或按状态码分组。
    • 右上和右下(查看器):在表中选择任意行,即可在右侧的查看器中查看其完整的请求和响应。

截图

image image

从源码构建

本项目使用 Gradle。你需要安装 JDK 17 才能构建该插件。

  1. 克隆仓库:
    git clone <repository-url>
    cd ColonelClustered
    
  2. 构建 fat JAR:
    ./gradlew build
    
  3. 编译后的 JAR 将位于 build/libs/ColonelClustered.jar。

联系方式

Drew Kirkpatrick
@hoodoer
[email protected]

你可以在 Blackthorne Consulting 找到我。

许可证

本项目根据 Unlicense 发布到公共领域。详情请参阅 LICENSE 文件。

下载工具