shadowshan125/WEB_GUARD

GitHub: shadowshan125/WEB_GUARD

基于 Django 构建的模块化 Web 漏洞扫描框架,集成侦察、爬取与漏洞评估能力,支持持久化存储与结构化报告输出。

Stars: 0 | Forks: 0

# WebGuard **WebGuard** 是一个基于 **Django** 构建的专业、模块化 Web 漏洞扫描框架。它被设计为完全作为 **基于终端 (CLI) 的工具** 运行,利用 Django 强大的 ORM 原生管理扫描结果的数据库、配置管理以及自定义管理命令。该框架执行异步扫描、目标情报收集和结构化报告。 ## 功能 * **Django 架构**:利用 Django 的 ORM 原生且持久化地保存所有侦察和扫描数据,与基于文本的标准脚本输出相比具有显著优势。 * **侦察引擎**:自动化 DNS 解析、IP 识别以及基本的技术栈/服务器 Banner 抓取。 * **爬虫引擎**:采用 `asyncio` 和 `aiohttp` 进行快速、异步的蜘蛛爬取,以发现端点并提取整个目标的 HTML 表单。 * **漏洞评估引擎**: * **SQL 注入 (SQLi)**:执行基于启发式错误的参数注入检查。 * **跨站脚本攻击 (XSS)**:识别反射型 Payload 输入以检测 XSS 漏洞。 * **配置错误**:突出显示缺失的关键安全保护措施,如 CSP、HSTS 和 X-Frame-Options,以及服务器版本泄露。 * **自定义签名**:解析 YAML 模板以动态匹配 URL 路径、状态码和响应体(例如,检测暴露的 `.env` 或配置文件)。 * **风险评分**:自动计算并为发现结果分配严重性评分(Critical, High, Medium, Low, Info),同时计算扫描的整体风险等级。 * **CLI 集成**:通过统一的 `manage.py` 命令(`recon`, `crawl`, `scan`)在命令行中无缝操作。 * **报告系统**:编译健壮的 JSON 和样式化 HTML 报告,并原生存储在 `/reports` 目录中,以便进行带外分析和共享。 ## 前置条件 * Python 3.10+ * Virtual Environment (推荐) ## 安装 1. **克隆或设置目录:** 导航到您的项目目录。 2. **创建并激活虚拟环境:** python -m venv venv # 在 Windows 上: .\venv\Scripts\activate # 在 Linux/macOS 上: source venv/bin/activate 3. **安装依赖:** pip install -r requirements.txt 4. **初始化数据库:** 应用 Django 迁移以设置 SQLite 数据库后端。 python manage.py makemigrations scanner python manage.py migrate ## 使用 WebGuard 完全通过专用的 Django 管理命令进行操作。 ### 1. 侦察 (目标情报) 收集有关目标的初始信息,包括 DNS 记录、IP 解析和 HTTP 服务器头。 ``` python manage.py recon https://example.com ``` ### 2. Web 爬取 (Spidering) 爬取目标以发现端点、链接和 HTML 表单。您可以控制深度和最大 URL 数量。 ``` python manage.py crawl https://example.com --depth 2 --max 100 ``` ### 3. 完整漏洞扫描 执行全套扫描:侦察、爬取和主动漏洞评估 (SQLi, XSS, Headers, Signatures)。 ``` python manage.py scan https://example.com --full-scan ``` *注意:您可以省略 `--full-scan`,仅在基础目标 URL 上运行主动扫描,而无需事先进行深度爬取。* ## 输出与报告 扫描完成后,WebGuard 会将发现结果安全地记录到其本地 `.sqlite3` 数据库中。 此外,它还会生成结构化报告,详细说明发现结果、概念验证和补救步骤。这些报告会自动保存在项目根目录的 `reports/` 目录中: * `reports/webguard_report__.json` * `reports/webguard_report__.html` ## 添加自定义 Payload 与签名 WebGuard 的模块化特性允许轻松扩展: * **Wordlists**:将标准 Payload 字符串(每行一个)添加到 `scanner/payloads/sqli.txt` 或 `scanner/payloads/xss.txt`。 * **Signatures**:在 `scanner/payloads/templates/` 中添加新的 Nuclei 风格 YAML 模板,以基于路径、HTTP 方法和响应体匹配器检测特定文件、CVE 或配置错误。 ## 免责声明 **WebGuard 仅用于教育和授权的安全测试目的。** 请勿对您不拥有或未获得明确书面测试许可的基础设施或应用程序使用此工具。
标签:AES-256, Django, DOE合作, ORM持久化, Python, SQL注入检测, Web漏洞扫描器, XSS检测, YAML规则, 安全配置审计, 密码管理, 异步扫描, 插件系统, 无后门, 渗透测试框架, 漏洞评估, 爬虫引擎, 计算机取证, 资产侦察, 逆向工具, 防御