使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 实现的服务器,它利用 Playwright 浏览器自动化库,为大型语言模型 (LLM) 客户端提供了一系列用于 Web 应用程序渗透测试的工具。通过这些工具,LLM 客户端可以执行诸如 XSS 和 SQL 注入漏洞检测、网页截图、页面元素交互、JavaScript 代码执行以及监控浏览器控制台日志等操作。
主要功能点
- 自动化漏洞检测: 自动检测网页是否存在反射型 XSS 和 SQL 注入漏洞。
- 网页内容捕获: 能够截取整个网页或特定元素的屏幕截图。
- 全面的网页交互: 支持模拟用户在浏览器中的各种操作,包括页面导航、点击、表单填写等。
- 实时日志监控: 监控并记录浏览器控制台输出的日志信息。
- JavaScript 代码执行: 允许在浏览器上下文中执行 JavaScript 代码。
安装步骤
- 安装 Playwright 浏览器: 运行以下命令安装 Firefox 浏览器依赖 (Playwright 支持多浏览器,这里使用 Firefox):
npx playwright install firefox - 安装项目依赖: 在项目根目录下,根据你的包管理器运行以下命令安装项目依赖:
或者yarn installnpm install - 构建项目: 运行以下命令构建项目,生成可执行的 JavaScript 文件:
npm run build
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude)配合使用,您需要在客户端的配置文件中添加服务器配置信息。通常,配置信息以 JSON 格式存储。以下是一个示例配置,您需要将其添加到 Claude 的配置文件 (例如 'claude_desktop_config.json') 中。请注意,您需要根据实际的项目 'index.js' 文件路径调整 'args' 中的路径。
{ "mcpServers": { "playwright": { "command": "npx", "args": [ "-y", "/path/to/MCP-Server-Pentest/dist/index.js" // 请替换为您的 'index.js' 文件的实际路径 ], "disabled": false, "autoApprove": [] } } }
配置参数说明:
- '"server name"': 'playwright' (服务器名称,客户端根据此名称识别和调用服务器)
- '"command"': 'npx' (启动服务器的命令,这里使用 npx 执行 node 包)
- '"args"': 启动命令的参数,包括 '-y' (自动确认) 和 '/path/to/MCP-Server-Pentest/dist/index.js' (服务器入口文件路径,请务必替换为实际路径)
- '"disabled"': 'false' (设置为 'false' 表示启用该服务器)
- '"autoApprove"': '[]' (自动批准的工具列表,默认为空)
查找 'index.js' 实际路径的建议: 在完成安装步骤后,您可以在项目根目录下的 'dist' 文件夹中找到 'index.js' 文件。您需要将该文件的绝对路径填写到 'args' 配置项中。例如,如果您将仓库克隆到 '/Users/yourname/Documents/MCP-Server-Pentest',那么 'index.js' 的路径可能为 '/Users/yourname/Documents/MCP-Server-Pentest/dist/index.js'。
基本使用方法
-
启动 MCP 客户端: 确保您的 MCP 客户端(例如 Claude)已启动并正确加载了上述服务器配置。
-
调用工具: 在 MCP 客户端中,您可以指示 LLM 调用此 MCP 服务器提供的工具来执行相应的渗透测试任务。例如,您可以指示 LLM 执行以下操作:
-
导航到指定 URL:
{ "tool_code": "browser_navigate", "tool_args": { "url": "https://example.com" } } -
截取网页截图:
{ "tool_code": "browser_screenshot", "tool_args": { "name": "example-screenshot", "fullPage": true } } -
检测 XSS 漏洞:
{ "tool_code": "broser_url_reflected_xss", "tool_args": { "url": "https://example.com/search?keyword=", "paramName": "keyword" } } -
检测 SQL 注入漏洞:
{ "tool_code": "browser_url_sql_injection", "tool_args": { "url": "https://example.com/product?id=", "paramName": "id" } } -
执行 JavaScript 代码:
{ "tool_code": "browser_evaluate", "tool_args": { "script": "document.title" } }
客户端会将工具调用请求发送到 MCP 服务器,服务器执行相应的浏览器自动化操作,并将结果返回给客户端。您可以根据需要组合和利用这些工具,实现更复杂的 Web 应用渗透测试流程。
-
信息
分类
开发者工具