XSS Platform 是一个自部署的 Blind XSS 回连接收平台,主要面向 CTF、靶场和授权安全测试场景。
平时做 XSS 验证时,触发后的信息经常会散落在临时日志、终端输出和浏览器历史里。这个平台把 Payload 生成、回连接收、样本查看和复盘管理放到一个后台里,让每一次命中都能按测试场景归档。
GitHub 项目地址:https://github.com/Hackerchen716/xss-platform
界面展示
为什么做它
做 XSS 验证的时候,我最不喜欢的状态是:Payload 在一个地方,回连日志在另一个地方,触发样本又散落在终端、临时文件和浏览器历史里。短时间内能凑合,时间一长就很难复盘。
XSS Platform 想解决的是这个小而具体的问题:给每个测试场景生成一个独立 Token,对应唯一的 /x/{token} 接收端点;命中以后统一落库,在控制台里集中看样本详情、标记已读、删除无效记录。
它解决什么问题
- 唯一接收端点:每个 Token 都能生成独立的脚本地址,便于区分不同测试目标。
- 触发数据归档:自动记录 URL、Referer、User-Agent、Cookie、DOM、localStorage、sessionStorage、浏览器时间、iframe 状态和来源 IP。
- 后台管理:支持 Token 管理、命中样本查看、已读/未读标记和删除。
- Payload 工具页:内置常见 XSS Payload 生成、编码转换、Payload 速查和 CSP 检查思路。
- 自部署:React + Vite 做前端,Express + tRPC 做接口,Drizzle + MySQL 存储数据,适合放在自己的 VPS 上跑。
部署和使用思路
部署上我给项目留了 Ubuntu + MySQL + Nginx + HTTPS + PM2 的说明。大致流程是先配置 DATABASE_URL、JWT_SECRET、SERVER_URL 和一次性的 ADMIN_SETUP_KEY,跑完 Drizzle migration 后再用 PM2 拉起服务。
第一次访问 /setup 初始化管理员账号,之后就可以进入控制台创建 Token、复制 Payload,并在触发后查看回连样本。
边界
这类工具天然会接触敏感浏览器数据,所以边界要写在前面:只在自己拥有或明确授权的系统里使用,不要把实例公开给无关人员,不要长期保存无用样本,测试结束后及时清理数据。
工具本身只是把验证流程整理得更顺手。真正重要的还是判断:什么时候该用,能收集到什么,哪些数据不该收,测试结束后要怎么把痕迹和风险收掉。