Garima040106/web-vulnerability-scanner-django

GitHub: Garima040106/web-vulnerability-scanner-django

这是一款基于 FastAPI 构建的紧凑型 Web 漏洞扫描平台,支持异步检测常见 Web 安全问题并自动生成 PDF 评估报告。

Stars: 0 | Forks: 0

# Web 漏洞扫描器 一个紧凑型 Web 漏洞扫描平台,支持异步扫描、漏洞分类和 PDF 报告导出。 ## 功能介绍 - 扫描允许的公共目标以检测常见 Web 问题(XSS、SQLi、headers、IDOR、开放重定向、端口)。 - 通过 FastAPI job 端点运行扫描,支持状态轮询和 PDF 下载。 - 生成格式化的 PDF 报告,包含漏洞详情、CVSS 风格评分、证据片段和附录元数据。 - 包含一个位于 `/` 的浏览器 UI,便于快速手动使用。 ## 架构 ``` flowchart LR U[User / Browser] --> API[FastAPI Service] API --> Q[In-Memory Job Queue] Q --> ENG[Async Scanner Engine] ENG --> MOD[Scanner Modules\nXSS SQLi Headers IDOR Redirect Ports] API --> REP[PDF Report Generator] REP --> OUT[reports/*.pdf] ``` ## 快速开始 ``` python3 -m venv cyenv source cyenv/bin/activate pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` 打开 `http://localhost:8000` ## 快速测试(60 秒) ``` # Create a scan curl -s -X POST http://127.0.0.1:8000/scan \ -H "Content-Type: application/json" \ -d '{"target_url":"https://example.com","options":{"max_depth":1}}' # Poll job status curl -s http://127.0.0.1:8000/scan/ # Download report curl -L http://127.0.0.1:8000/scan//report -o report.pdf ``` ## Docker 运行 ``` docker build -t web-vuln-scanner . docker run --rm -p 8000:8000 web-vuln-scanner ``` 打开 `http://localhost:8000` ## Render 部署 (Docker) - 使用 **Docker** 服务类型。 - 无需自定义启动命令(Docker `ENTRYPOINT` 已设置)。 - 应用自动绑定到 `PORT`(`${PORT:-8000}`)。 - 推荐环境变量: - `MAX_CONCURRENT_SCANS=3` - `SCAN_TIMEOUT_SECONDS=120` - 健康检查路径:`/health` ## 冒烟测试状态 - 本地 API 冒烟测试:通过(`/`、`/health`、`/scan`、`/scan/{id}`、`/scan/{id}/report`)。 - PDF 生成:通过(报告下载成功)。 - Docker 冒烟测试:通过(镜像构建成功,`/health` 返回 `ok`)。 ## 主要端点 - `POST /scan` → 创建扫描任务 - `GET /scan/{job_id}` → 任务状态 + 漏洞结果 - `GET /scan/{job_id}/report` → 下载 PDF - `GET /health` → 健康检查(JSON/API,HTML/浏览器) ## 项目布局 - `app/main.py` → FastAPI 路由、任务生命周期和浏览器 UI - `scanner_project/scanner/scanner_engine/` → 异步扫描器核心 + 模块 - `scanner_project/scanner/report_generator.py` → PDF 生成 - `reports/` → 生成的报告文件 ## 安全提示 仅用于您拥有或已明确获得测试许可的目标。 ## 故障排除 - 如果 Docker 构建因 Django 版本错误而失败,请确保 Python 基础镜像是 `3.12`。 - 如果在某些目标上扫描失败,请检查目标是否为公共目标,且未被 DNS/IP 安全检查拦截。
标签:AV绕过, CVSS评分, DOE合作, FastAPI, GPT, IDOR, PDF报告生成, Web安全, Web漏洞扫描, XSS检测, 反取证, 安全评估, 异步编程, 扫描器, 数据统计, 漏洞管理, 端口扫描, 网络安全, 网络测绘, 蓝队分析, 请求拦截, 逆向工具, 隐私保护