Web模糊测试服务器

一个为ffuf设计的MCP服务器,通过SSH连接到Kali Linux主机,支持Web内容发现、子域名枚举、虚拟主机发现和参数模糊测试等功能。

  • by schwarztim
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 schwarztim/sec-ffuf-mcp

使用说明

sec ffuf mcp

MCP(模型上下文协议)服务器 ffuf -用Go编写的快速网络模糊器。

该服务器使AI助手能够通过与Kali Linux主机的安全SSH连接执行web内容发现、目录暴力破解、子域枚举、虚拟主机发现和参数模糊测试。

特性

  • Web内容发现 -Fuzz目录、文件和端点
  • 子域枚举 -通过主机头注入发现子域
  • 虚拟主机发现 -在目标IP上查找隐藏的vhost
  • 参数模糊 -发现隐藏的GET/POST参数
  • 递归扫描 -深度可配置的深度目录遍历
  • 响应过滤 -按状态代码、大小、单词、行或正则表达式进行匹配或筛选
  • 速率限制 -负责测试的线程控制和请求延迟
  • 多个单词列表 -预先配置对常用单词表(dirb、DirBuster、SecLists)的访问

先决条件

  • Node.js 18+
  • SSH访问安装了ffuf的Kali Linux主机
  • 已配置SSH密钥身份验证(推荐)

安装

git clone https://github.com/schwarztim/sec-ffuf-mcp.git
cd sec-ffuf-mcp
npm install
npm run build

配置

通过环境变量设置Kali Linux主机:

export KALI_HOST="kali"  # default: "kali"

确保为Kali主机的无密码访问配置了SSH密钥身份验证。

MCP配置

添加到您的Claude Desktop或MCP客户端配置中:

{
  "mcpServers": {
    "ffuf": {
      "command": "node",
      "args": ["/path/to/sec-ffuf-mcp/dist/index.js"],
      "env": {
        "KALI_HOST": "your-kali-hostname"
      }
    }
  }
}

可用工具

ffuf_fuzz

对目标URL运行ffuf网络模糊测试。

{
  "url": "https://target.com/FUZZ",
  "wordlist": "common",
  "threads": 40,
  "extensions": ".php,.html,.txt"
}

ffuf_matchers

使用特定的响应匹配器运行ffuf。

{
  "url": "https://target.com/FUZZ",
  "matchCodes": "200,301,302",
  "matchSize": "1234"
}

ffuf_filters

使用响应过滤器运行ffuf以排除不需要的结果。

{
  "url": "https://target.com/FUZZ",
  "filterCodes": "404,403",
  "filterSize": "0"
}

ffuf_recursion

递归目录扫描。

{
  "url": "https://target.com/FUZZ",
  "depth": 3,
  "strategy": "greedy"
}

ffuf_subdomain

通过主机头注入进行子域枚举。

{
  "domain": "example.com",
  "wordlist": "subdomains",
  "filterSize": "1234"
}

ffuf_vhost

虚拟主机发现。

{
  "ip": "192.168.1.100",
  "domain": "example.com",
  "wordlist": "subdomains"
}

ffuf_parameter

隐藏参数发现。

{
  "url": "https://target.com/api/endpoint",
  "method": "POST",
  "wordlist": "parameters"
}

ffuf_wordlists

列出所有可用的预定义单词表。

ffuf_status

检查Kali主机上ffuf的可用性和版本。

可用单词列表

名称 描述 路径
common 常用目录/文件名(4614个条目) /usr/share/wordlists/dirb/common.txt
big 较大的常用列表(20469条) /usr/share/wordlists/dirb/big.txt
small 快速扫描列表(959条) /usr/share/wordlists/dirb/small.txt
dirbuster_small DirBuster小名单(约87k条) /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
dirbuster_medium DirBuster中等列表(约22万条) /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
dirbuster_big DirBuster大名单(约127万条) /usr/share/wordlists/dirbuster/directory-list-2.3-big.txt
seclists_common SecLists常见web内容 /usr/share/seclists/Discovery/Web-Content/common.txt
seclists_directories SecLists目录列表介质 /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
subdomains 前5000个子域名 /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
parameters Burp参数名称 /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt
api_endpoints 常见的API端点 /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt

使用示例

基本目录模糊

Use ffuf_fuzz with url "https://target.com/FUZZ" and wordlist "common"

查找PHP文件

Use ffuf_fuzz with url "https://target.com/FUZZ" and extensions ".php,.php5,.phtml"

带深度限制的递归扫描

Use ffuf_recursion with url "https://target.com/FUZZ", depth 2, and maxtime 300

子域枚举

Use ffuf_subdomain with domain "example.com" and filterSize "1234" to exclude default response

POST参数发现

Use ffuf_parameter with url "https://target.com/login" and method "POST"

安全通知

此工具仅用于授权的安全测试。在测试任何系统之前,始终确保您有明确的权限。未经授权访问计算机系统是非法的。

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢