README
🚀 xss-mcp-tester
xss-mcp-tester 是一个用于执行 XSS 测试的 MCP 服务器,并且结合了 AI 技术。若想了解该 MCP 服务器的详细解释和概念验证(POC),请访问作者发布在 Medium 上的文章:Mypost。
🚀 快速开始
本文档将指导你完成 xss-mcp-tester 的安装、配置和使用。该项目支持在 VSCode 中运行,其他环境的安装过程总体类似。
📦 安装指南
前提条件
- Python 3.8 及以上版本
- uv 包管理器
安装 uv(若尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
安装步骤
- 克隆仓库
git clone https://github.com/yourusername/xss-tester-mcp.git
cd xss-tester-mcp
- 初始化项目
# 初始化 uv 项目
uv init
# 安装依赖
uv add mcp playwright fastmcp
# 安装 Playwright 浏览器
uv run playwright install chromium
- 验证安装
uv pip list
配置
将以下内容添加到你的 MCP 客户端配置文件中:
{
"mcpServers": {
"XSS tester": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"playwright",
"mcp",
"run",
"/path/to/your/project/main.py"
]
}
}
}
测试
在 VSCode 中启动 MCP 服务器:
- 按下 Ctrl + Shift + P(在 Mac 上为 Cmd + Shift + P)。
- 输入 “MCP: List Server” 并选择该选项。
- 从列表中选择你的 XSS 测试服务器并运行它。
之后,前往聊天界面,将 AI 设置为代理,即可开始测试。
💻 使用示例
🔍 test_xss_url
此工具用于测试 URL 是否存在 XSS 漏洞,通过检查是否触发 JavaScript 执行来判断。
- 输入:包含 XSS 有效负载的 URL(例如,
https://example.com/search?q=<script>alert(1)</script>) - 输出:检测是否发生任何 JavaScript 执行(如警报、控制台日志、文档写入等)
📄 get_raw_html_response
使用 urllib 从 URL 获取原始 HTML 响应。
- 输入:URL 和可选的最大长度参数
- 输出:服务器发送的原始 HTTP 响应主体
- 特性:截断控制、完整响应选项
🔎 search_in_html_response
在 HTML 响应中搜索特定内容。
- 输入:URL 和搜索词
- 输出:包含匹配上下文的搜索结果(匹配项前后各 3 行)
- 用例:在响应中查找特定字符串、令牌或模式
📜 get_javascript_file
获取 JavaScript 文件以进行手动漏洞分析。
- 输入:JavaScript 文件的 URL
- 输出:用于 AI 分析的 JavaScript 源代码
- 用例:分析 JS 文件中的 DOM XSS 漏洞
🔧 get_http_headers
检索 HTTP 响应头以进行安全分析。
- 输入:URL
- 输出:所有 HTTP 响应头
- 用例:分析安全保护措施(如 CSP、X-Frame-Options 等)
🎯 make_custom_http_request
使用自定义头(身份验证、cookie、会话)发出 HTTP 请求。
- 输入:URL、方法、自定义头字符串、最大长度
- 头格式:
"Header1: Value1\nHeader2: Value2\nCookie: session=abc123" - 输出:包含请求/响应头的完整 HTTP 响应
- 用例:测试经过身份验证的端点、基于会话的漏洞
Scan to join WeChat group