Senaraufi/Web-Vulnerability-Scanner

GitHub: Senaraufi/Web-Vulnerability-Scanner

一款轻量级的 Python Web 安全扫描器,通过自动爬取和分析来检测 XSS、SQL 注入、敏感目录暴露等常见漏洞并生成报告。

Stars: 0 | Forks: 0

# WebVuln Scanner 一款使用 Python 构建的专业级 Web 安全漏洞扫描器。你可以将其视为一个迷你版的 Burp Suite —— 它能够爬取网站、检测安全问题,并生成美观的报告。 ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg) ![License](https://img.shields.io/badge/License-MIT-green.svg) ## 功能 - **智能爬虫** - 基于 BFS 的 URL 发现,支持深度控制、表单提取和 robots.txt 支持 - **安全标头分析** - 检查是否缺失 CSP、HSTS、X-Frame-Options 等 - **目录暴露检测** - 查找管理后台、备份文件、.git 文件夹、配置文件 - **XSS 检测** - 测试参数和表单中的反射型跨站脚本攻击 - **SQL 注入检测** - 基于报错、基于布尔和基于时间的 SQLi 测试 - **精美报告** - 包含风险评分的专业 JSON 和 HTML 报告 ## 快速入门 ### 安装说明 ``` # 克隆 repository cd WebVuln-scanner # 安装 dependencies pip install -r requirements.txt ``` ### 基本用法 ``` # 使用默认设置进行完整扫描 python scanner.py --url https://example.com # 增加 crawl 深度进行深度扫描 python scanner.py --url https://example.com --depth 3 # 仅 header 快速扫描 python scanner.py --url https://example.com --scan-type headers # 仅目录扫描 python scanner.py --url https://example.com --scan-type dirs # 多种扫描类型 python scanner.py --url https://example.com --scan-type headers,dirs,xss ``` ### 命令行选项 | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `-u, --url` | 要扫描的目标 URL(必填) | - | | `-d, --depth` | 爬取深度 | 2 | | `-t, --scan-type` | 扫描类型: all, headers, dirs, xss, sqli | all | | `-o, --output` | 输出格式: json, html, all, none | all | | `--output-dir` | 报告的输出目录 | . | | `--no-crawl` | 跳过爬取,仅扫描提供的 URL | false | | `--threads` | 用于目录扫描的线程数 | 5 | | `-q, --quiet` | 最简输出 | false | ## 扫描类型 ### 安全标头 (`headers`) 检查基本的安全标头: - Content-Security-Policy - Strict-Transport-Security (HSTS) - X-Frame-Options - X-Content-Type-Options - X-XSS-Protection - Referrer-Policy - Permissions-Policy ### 目录暴露 (`dirs`) 扫描暴露的敏感路径: - 管理后台 (`/admin`, `/wp-admin`, `/phpmyadmin`) - 版本控制 (`.git`, `.svn`) - 配置文件 (`.env`, `config.php`, `web.config`) - 备份文件 (`*.bak`, `*.sql`, `backup.*`) - 调试 endpoint (`/phpinfo.php`, `/debug`) ### XSS 检测 (`xss`) 测试反射型跨站脚本攻击: - URL 参数注入 - 表单字段注入 - 多种 payload 变体 - 结合上下文的检测 ### SQL 注入 (`sqli`) 测试 SQL 注入漏洞: - 基于报错的检测 - 基于布尔的检测 - 基于时间的盲注检测 - 常见错误模式匹配 ## 📊 示例输出 ``` ╔══════════════════════════════════════════════════════════════╗ ║ WEBVULN - Web Security Vulnerability Scanner ║ ╚══════════════════════════════════════════════════════════════╝ [Phase 1/5] Crawling Target ================================================== [+] Crawling (0/2): https://example.com [+] Crawling (1/2): https://example.com/login [Phase 2/5] Analyzing Security Headers ================================================== [*] Found 5 header issues [Phase 3/5] Scanning for Exposed Directories ================================================== [+] Found: /.git/config (200) - CRITICAL [+] Found: /admin (403) - HIGH ============================================================ SCAN SUMMARY ============================================================ Target: https://example.com Scan Time: 2024-01-15 14:30:22 RISK LEVEL: HIGH Findings Breakdown: ⚫ Critical: 1 🔴 High: 3 🟡 Medium: 5 🔵 Low: 2 ============================================================ ``` ## 项目结构 ``` WebVuln-scanner/ ├── scanner.py # Main entry point ├── config.py # Configuration and payloads ├── requirements.txt # Python dependencies ├── crawler/ │ ├── __init__.py │ ├── crawler.py # URL crawler │ └── utils.py # URL utilities ├── analyzers/ │ ├── __init__.py │ ├── headers.py # Security headers analyzer │ ├── directories.py # Directory scanner │ ├── xss.py # XSS detector │ └── sqli.py # SQLi detector └── reports/ ├── __init__.py ├── generator.py # Report generator └── templates/ └── report.html # HTML report template ``` ## 测试 为了进行安全的测试,请使用故意设计为存在漏洞的应用程序: ``` # Acunetix 测试站点(允许合法扫描) python scanner.py --url http://testphp.vulnweb.com --depth 2 # OWASP WebGoat(本地运行) python scanner.py --url http://localhost:8080/WebGoat ``` ## 法律免责声明 **此工具仅供授权的安全测试使用。** - 仅扫描您拥有或获得明确书面测试许可的系统 - 未经授权的扫描可能违反计算机欺诈和滥用法 - 开发者不对滥用此工具的行为负责 - 在进行安全测试之前,请务必获得适当的授权 ## 许可证 MIT 许可证 - 详情请参阅 LICENSE 文件。 用 ❤️ 为安全社区构建
标签:BeEF, CISA项目, Python, SQL注入检测, Web安全, XSS检测, 加密, 多模态安全, 密码管理, 文档结构分析, 无后门, 漏洞扫描器, 爬虫, 蓝队分析, 逆向工具