Web Application Penetration Testing MCP

Web Application Penetration Testing MCP

site icon
2025.04.16 1
PythonWeb应用程序安全测试自动化渗透测试应用程序结构分析开发效率
Web Application Penetration Testing MCP 是一个专注于业务逻辑安全漏洞分析的全面工具。该主控程序(MCP)系统地爬取、分析并识别标准扫描器无法检测到的潜在安全问题。它通过构建完整的应用程序结构图,帮助用户理解Web应用程序的业务背景,并识别潜在的安全弱点,特别是在业务逻辑实现方面。
View on GitHub

Overview

基本能力

产品定位

Web Application Penetration Testing MCP 是一个专注于业务逻辑安全漏洞分析的全面工具,用于识别标准扫描器无法检测到的潜在安全问题。

核心功能

  1. 全面发现:自动构建整个Web应用程序的树状结构,映射所有链接、表单和交互元素,识别输入字段及其类型和预期值。
  2. 认证处理:自动检测登录/注销页面,支持使用凭据访问受保护区域,支持基于cookie和bearer token的认证。
  3. 业务逻辑分析:识别潜在的IDOR(不安全的直接对象引用)漏洞,检测数学/计算边缘情况,映射可被操纵的多步工作流,发现权限和访问控制问题。
  4. 高级输入分析:识别输入字段类型(即使未明确定义),根据字段类型生成适当的测试值,检测可能包含敏感值的隐藏字段。
  5. 可视化支持:使用DOT格式创建可视化站点地图(可通过Graphviz查看),突出显示需要更多关注的复杂页面。

适用场景

  1. Web应用程序安全测试:识别业务逻辑漏洞和潜在的安全弱点。
  2. 自动化渗透测试:通过自动化工具进行全面的安全分析。
  3. 应用程序结构分析:构建应用程序的完整结构图,帮助理解业务逻辑。

工具列表

  1. web_app_mcp.py:主工具,用于爬取、分析和识别Web应用程序的安全问题。
  2. Graphviz:用于可视化站点地图的工具。

常见问题解答

  1. 如何生成可视化站点地图?:使用--visual参数运行工具,然后使用Graphviz将生成的DOT文件转换为图像。
  2. 如何控制爬取速度和深度?:使用--delay--max-pages参数控制请求延迟和最大页面数。
  3. 如何添加自定义头信息?:使用--headers参数传递JSON格式的自定义头信息。

使用教程

使用依赖

# 安装依赖
pip install -r requirements.txt

安装教程

# 克隆仓库
git clone https://github.com/yourusername/web-app-penetration-testing-mcp.git

# 进入目录
cd web-app-penetration-testing-mcp

# 安装依赖
pip install -r requirements.txt

调试方式

# 基本用法
python web_app_mcp.py https://example.com

# 带认证的扫描
python web_app_mcp.py https://example.com --username [email protected] --password mysecretpassword

# 生成可视化站点地图
python web_app_mcp.py https://example.com --visual

# 控制爬取速度和深度
python web_app_mcp.py https://example.com --delay 1.0 --max-pages 200

许可证

该项目遵循 MIT 开源许可条款。