mcpField
W
Web Application Penetration Testing MCP

Web Application Penetration Testing MCP

本地服务
github.com/yallasec安全480 周前更新

关于 Web Application Penetration Testing MCP

Web Application Penetration Testing MCP 用于梳理 Web 应用结构并分析业务逻辑安全问题,适合渗透测试人员检查潜在弱点。它还可处理认证访问,并生成站点地图与分析结果文件。

主要功能

  1. 01构建应用页面与交互元素地图
  2. 02使用凭据或令牌处理认证
  3. 03识别 IDOR 与访问控制问题
  4. 04分析计算边界和多步骤流程
  5. 05生成 DOT 格式可视站点地图

适用场景

  1. 01梳理需认证才能访问的应用区域
  2. 02定位业务流程中的潜在漏洞
  3. 03依据站点地图确定复杂页面
  4. 04查看输入字段和潜在边界情况

MCP 相关

该项目以 MCP 为名并提供应用分析工具,但 README 未说明其 MCP 客户端接口或暴露方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Web Application Penetration Testing MCP

一款全面的工具,专注于分析 Web 应用中的业务逻辑安全漏洞。该主控程序(MCP)会系统地爬取和分析应用,并识别标准扫描器无法检测到的潜在安全问题。

概述

Web Application Penetration Testing MCP 通过构建完整的应用结构地图并识别潜在的安全薄弱环节,帮助你了解 Web 应用的业务上下文,尤其是业务逻辑实现方面的问题。

主要功能

全面发现
  • 自动构建整个 Web 应用的树形结构
  • 映射所有链接、表单和交互元素
  • 识别输入字段的类型及预期值
身份验证处理
  • 自动检测登录和注销页面
  • 可使用凭据进行身份验证,以访问受保护区域
  • 支持基于 Cookie 和 Bearer 令牌的身份验证
业务逻辑分析
  • 识别潜在的 IDOR(不安全直接对象引用)漏洞
  • 检测数学运算和计算中的边界情况
  • 映射可能被操纵的多步骤工作流
  • 发现权限和访问控制问题
高级输入分析
  • 识别输入字段类型(即使未明确定义)
  • 根据字段类型生成合适的测试值
  • 检测可能包含敏感值的隐藏字段
可视化支持
  • 使用 DOT 格式创建可视化站点地图(可通过 Graphviz 查看)
  • 标出需要重点关注的复杂页面

安装

# Clone the repository
git clone https://github.com/yourusername/web-app-penetration-testing-mcp.git

# Navigate to the directory
cd web-app-penetration-testing-mcp

# Install dependencies - using uv
pip install -r requirements.txt

用法

目前,other.py 是后续开发的工具版本

基本操作
# Basic usage
python web_app_mcp.py https://example.com

# With authentication
python web_app_mcp.py https://example.com --username [email protected] --password mysecretpassword

# Create visual sitemap
python web_app_mcp.py https://example.com --visual

# Control crawl speed and depth
python web_app_mcp.py https://example.com --delay 1.0 --max-pages 200
命令行参数
参数描述
url目标 Web 应用 URL(必填)
--username用于身份验证扫描的用户名
--password用于身份验证扫描的密码
--visual生成 DOT 格式的可视化站点地图
--delay请求间隔秒数(默认值:0.5)
--max-pages要扫描的最大页面数(默认值:100)
--output输出文件名(默认值:mcp_results.json)
--cookies用于身份验证扫描的 Cookie 字符串
--headersJSON 格式的额外标头

输出

该工具会生成一个 mcp_results.json 文件,其中包含:

  • 完整的应用结构
  • 已识别的输入字段及其类型
  • 已检测到的身份验证机制
  • 多步骤工作流
  • 潜在的边界情况和漏洞
  • 业务逻辑分析结果

测试工作流

  1. 查看生成的 mcp_results.json 文件,了解应用结构
  2. 重点关注 "potential_edge_cases" 部分中的高价值测试目标
  3. 使用可视化站点地图识别应用的复杂区域
  4. 利用生成的测试用例查找业务逻辑漏洞

输出示例

{
  "application_map": {
    "https://example.com/": {
      "type": "page",
      "links": ["https://example.com/login", "https://example.com/about"],
      "forms": []
    },
    "https://example.com/login": {
      "type": "authentication",
      "links": [],
      "forms": [
        {
          "action": "/process-login",
          "method": "POST",
          "inputs": [
            {"name": "username", "type": "email"},
            {"name": "password", "type": "password"}
          ]
        }
      ]
    }
  },
  "potential_edge_cases": [
    {
      "url": "https://example.com/user/profile",
      "type": "IDOR",
      "description": "User ID parameter may allow access to other profiles"
    }
  ]
}

可视化

使用 --visual 标志时,该工具会生成一个 sitemap.dot 文件,可通过 Graphviz 将其转换为图像:

dot -Tpng sitemap.dot -o sitemap.png

高级用法

使用自定义标头进行扫描
python web_app_mcp.py https://example.com --headers '{"X-API-Key": "your-api-key"}'
限速扫描
python web_app_mcp.py https://example.com --delay 2.0 --max-pages 50
针对特定区域进行扫描
python web_app_mcp.py https://example.com/admin --max-depth 3

参与贡献

欢迎贡献!欢迎提交 Pull Request。

许可证

本项目采用 MIT License 许可协议,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。