
Web Application Penetration Testing MCP

2025.04.16
1
PythonWeb应用程序安全测试自动化渗透测试应用程序结构分析开发效率
Web Application Penetration Testing MCP 是一个专注于业务逻辑安全漏洞分析的全面工具。该主控程序(MCP)系统地爬取、分析并识别标准扫描器无法检测到的潜在安全问题。它通过构建完整的应用程序结构图,帮助用户理解Web应用程序的业务背景,并识别潜在的安全弱点,特别是在业务逻辑实现方面。
View on GitHub
Overview
基本能力
产品定位
Web Application Penetration Testing MCP 是一个专注于业务逻辑安全漏洞分析的全面工具,用于识别标准扫描器无法检测到的潜在安全问题。
核心功能
- 全面发现:自动构建整个Web应用程序的树状结构,映射所有链接、表单和交互元素,识别输入字段及其类型和预期值。
- 认证处理:自动检测登录/注销页面,支持使用凭据访问受保护区域,支持基于cookie和bearer token的认证。
- 业务逻辑分析:识别潜在的IDOR(不安全的直接对象引用)漏洞,检测数学/计算边缘情况,映射可被操纵的多步工作流,发现权限和访问控制问题。
- 高级输入分析:识别输入字段类型(即使未明确定义),根据字段类型生成适当的测试值,检测可能包含敏感值的隐藏字段。
- 可视化支持:使用DOT格式创建可视化站点地图(可通过Graphviz查看),突出显示需要更多关注的复杂页面。
适用场景
- Web应用程序安全测试:识别业务逻辑漏洞和潜在的安全弱点。
- 自动化渗透测试:通过自动化工具进行全面的安全分析。
- 应用程序结构分析:构建应用程序的完整结构图,帮助理解业务逻辑。
工具列表
- web_app_mcp.py:主工具,用于爬取、分析和识别Web应用程序的安全问题。
- Graphviz:用于可视化站点地图的工具。
常见问题解答
- 如何生成可视化站点地图?:使用
--visual
参数运行工具,然后使用Graphviz将生成的DOT文件转换为图像。 - 如何控制爬取速度和深度?:使用
--delay
和--max-pages
参数控制请求延迟和最大页面数。 - 如何添加自定义头信息?:使用
--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