xiabai2004/RayScan

GitHub: xiabai2004/RayScan

一款基于 Python 的开源 Web 漏洞扫描器,覆盖 SQL 注入、XSS、命令注入等主流漏洞类型,支持快速扫描与深度审计两种模式。

Stars: 2 | Forks: 0

# 🔬 RayScan 1.0
![Python](https://img.shields.io/badge/Python-3.8%2B-blue) ![License](https://img.shields.io/badge/License-MIT-green) ![Version](https://img.shields.io/badge/Version-1.0.0-orange) ![Status](https://img.shields.io/badge/Status-Beta-yellow) **一个功能强大的 Web 漏洞扫描器 · 11 个检测模块 · 即开即用** *RayScan 是 WVS 系列正式开源后的新名字,致敬过去 19 个版本的迭代积累。* [快速开始](#-快速开始) · [功能特性](#-功能特性) · [检测能力](#-检测能力) · [使用示例](#-详细使用说明) · [更名记](RENAMED_TO_RAYSCAN.md)
## 📋 功能特性 - **SQL 注入检测** — error-based / union / boolean-blind / time-based / stacked - **XSS 检测** — 反射型 / 存储型 / DOM 型 - **命令注入 (CMDi) 检测** - **文件包含 (LFI) 检测** - **SSRF / XXE 检测** - **RCE 检测** - **敏感信息泄露检测** - **WAF 检测与绕过** - **API 安全扫描** - **JSPathFinder** — JavaScript 端点发现 - **第三方工具集成**(Nuclei, sqlmap, ffuf, Wappalyzer) - **多种报告格式**(HTML, JSON, CSV, Markdown, Console) ## 🚀 快速开始 ### 1. 环境准备 # Python 3.8+ 安装依赖 pip install -r requirements-dev.txt ### 2. 快速扫描 # 最简单的用法 —— 给个URL就行 python quick_scan.py -u http://example.com ### 3. 全量扫描 # 深度爬取 + 全部检测模块 + 外部集成 python full_scan.py -u http://example.com --profile full ### 4. GUI 界面 # 带图形界面的交互式扫描 python wvs_gui.py ### 5. 特定模块扫描 # 配置文件修改:在 quick_scan.py 或 full_scan.py 中的 # config.set("crawl_depth", 2) 等参数可按需调整 ## 📖 详细使用说明 ### 🎯 快速扫描 (`quick_scan.py`) 适合快速摸清目标安全状况。 | 参数 | 说明 | 默认值 | |------|------|:-----:| | `-u / --url` | 目标URL | 必填 | | 爬取深度 | 页面层级 | 2 层 | | 爬取上限 | 最大URL数 | 25 | | 超时 | 请求超时(s) | 15s | | 重试 | 失败重试次数 | 0次 | **输出:** 控制台打印漏洞列表 + JSON 报告文件 ### 🌊 全量扫描 (`full_scan.py`) 适合深度安全审计。 | 参数 | 说明 | 默认值 | |------|------|:-----:| | 爬取深度 | 页面层级 | 3 层 | | 爬取上限 | 最大URL数 | 500 | | 并发端点 | 同时检测数 | 12 | | 模块 | 全部检测模块 | 全部启用 | | 报告格式 | 输出格式 | JSON / 控制台 | **输出:** 详细的漏洞清单,包含类型、严重等级、URL、置信度 ### 🖥️ GUI 模式 (`wvs_gui.py`) 适合不想敲命令的用户,图形化操作。 ### 📁 扫描报告 扫描完成后,结果保存在 `scan_reports/` 目录,格式为 JSON。 查看历史报告: # scan_reports/ 目录下存放了之前的扫描记录 ls scan_reports/ ### 🛠️ 配置说明 核心配置在 `wvs/config.py` 中,常用可调参数: config.set("crawl_depth", 2) # 爬取深度 config.set("crawl_max_urls", 100) # 最大爬取URL数 config.set("concurrent_endpoints", 10) # 并发检测数 config.set("timeout", 15) # 请求超时(s) config.set("verify_ssl", False) # 是否验证SSL证书 config.set("retry_count", 1) # 失败重试次数 ### 🔧 自定义扫描脚本 如果你需要自定义扫描目标,可以参考 `quick_scan.py` 的写法创建自己的脚本: import asyncio from wvs.config import ConfigManager from wvs.core import HTTPPool, WAVScanner from wvs.models import ScanTarget async def my_scan(): config = ConfigManager() config.set("crawl_depth", 2) session = HTTPPool(config) scanner = WAVScanner(config, session) scanner.load_all_modules() target = ScanTarget(url="http://your-target.com") result = await scanner.scan(target) print(f"Found {len(result.vulnerabilities)} vulnerabilities") asyncio.run(my_scan()) ## 🤖 支持的检测模块 | 模块 | 检测类型 | |------|----------| | `sqli` | SQL 注入 (error-based / union / boolean-blind / time-based / stacked) | | `xss` | 跨站脚本 (反射型/存储型) | | `cmdi` | 命令注入 | | `lfi` | 本地文件包含 | | `rce` | 远程代码执行 | | `ssrf` | 服务端请求伪造 | | `xxe` | XML 外部实体注入 | | `api` | API 安全检测 | | `sensitive` | 敏感信息泄露 | | `waf` | WAF 检测与绕过 | | `jspathfinder` | JavaScript 端点发现 | ## 🔗 外部工具集成 | 工具 | 用途 | 安装方式 | |------|------|----------| | Nuclei | 漏洞模板扫描 | `pip install nuclei-python` | | sqlmap | SQL 注入深度利用 | 需单独安装 | | ffuf | 模糊测试 | 需单独安装 | | Wappalyzer | 技术栈识别 | `pip install python-Wappalyzer` | ## 📂 项目结构 RayScan/ ├── wvs/ # 核心扫描库 ├── scripts/ # 扫描脚本 ├── scan_reports/ # 扫描报告 ├── examples/ # 示例代码 ├── analysis/ # 项目分析文档 ├── docs/ # 技术文档 ├── archive/ # 📦 WVS 历史版本归档 │ ├── v19/ │ ├── v18.4/ │ ├── v18/ │ ├── ... ├── shared_components/ # 共享组件 ├── tools/ # 工具脚本 ├── version_diffs/ # 版本差异分析 ├── full_scan.py # 全量扫描入口 ├── quick_scan.py # 快速扫描入口 ├── wvs_gui.py # GUI 界面 ├── pyproject.toml # 项目配置 ├── LICENSE # MIT 许可证 ├── RENAMED_TO_RAYSCAN.md # 更名记 └── .gitignore ## 📊 检测能力 | 能力 | 状态 | |------|------| | SQL 注入 | ✅ error-based / union / boolean-blind / time-based | | XSS | ✅ 反射型 / 存储型 | | 命令注入 | ✅ 高精度 | | LFI | ✅ 支持 | | SSRF | ✅ 支持 | | XXE | ✅ 支持 | | RCE | ✅ 支持 | | 敏感信息泄露 | ✅ 高覆盖 | | WAF 绕过 | ✅ 多策略 | | API 扫描 | ✅ 支持 | | 第三方集成 | ✅ Nuclei, sqlmap, ffuf, Wappalyzer | ## ⚙️ 版本历史 | 版本 | 说明 | |------|------| | **RayScan 1.0** | **正式开源版(基于 WVS v19.2)** | | WVS v19 / v19.2 | 扫描引擎重构,集成框架升级 | | WVS v18 / v18.4 | 高级检测模块 + 企业级扫描能力 | | WVS v17 | 模块化架构重构 | | WVS v16 | 插件系统 + 多报告格式 | | WVS v15 | 基础扫描框架搭建 | | WVS v1~14 | 早期版本开发迭代 | 详见 [更名记](RENAMED_TO_RAYSCAN.md) ## ⚠️ 免责声明 本工具**仅供**获得明确授权的安全测试、渗透测试及漏洞研究使用。 **未经授权扫描、攻击他人系统属于违法行为,使用者需自行承担一切法律责任。** 使用本工具即表示您已阅读并同意上述条款。 ## 📄 License MIT License — Copyright (c) 2026 xiabai2004
标签:API安全, CISA项目, DOE合作, ffuf, Google, GUI安全工具, JSON输出, JSPathFinder, LFI, Nuclei, Python, RCE, sqlmap, SQL注入检测, SSRF, WAF绕过, Web安全, XSS检测, XXE攻击, 企业安全, 加密, 命令注入检测, 文件包含, 无后门, 漏洞扫描器, 白帽黑客, 网络安全, 网络资产管理, 聊天机器人, 蓝队分析, 计算机取证, 逆向工具, 隐私保护