关于 Web Application Penetration Testing MCP
Web Application Penetration Testing MCP 用于梳理 Web 应用结构并分析业务逻辑安全问题,适合渗透测试人员检查潜在弱点。它还可处理认证访问,并生成站点地图与分析结果文件。
主要功能
- 01构建应用页面与交互元素地图
- 02使用凭据或令牌处理认证
- 03识别 IDOR 与访问控制问题
- 04分析计算边界和多步骤流程
- 05生成 DOT 格式可视站点地图
适用场景
- 01梳理需认证才能访问的应用区域
- 02定位业务流程中的潜在漏洞
- 03依据站点地图确定复杂页面
- 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 字符串 |
--headers | JSON 格式的额外标头 |
输出
该工具会生成一个 mcp_results.json 文件,其中包含:
- 完整的应用结构
- 已识别的输入字段及其类型
- 已检测到的身份验证机制
- 多步骤工作流
- 潜在的边界情况和漏洞
- 业务逻辑分析结果
测试工作流
- 查看生成的
mcp_results.json文件,了解应用结构 - 重点关注 "potential_edge_cases" 部分中的高价值测试目标
- 使用可视化站点地图识别应用的复杂区域
- 利用生成的测试用例查找业务逻辑漏洞
输出示例
{
"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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。