Ranjana2707/AegisScan

GitHub: Ranjana2707/AegisScan

一个基于 Python 的模块化 Web 漏洞扫描器,利用自动爬取和差异响应分析来检测 SQL 注入和 XSS 漏洞。

Stars: 0 | Forks: 0

# Web 应用程序漏洞扫描器 一个使用 Python 编写的模块化、生产级 Web Application Vulnerability Scanner。该工具旨在通过自动爬取和差异响应分析来检测 Web 应用程序中的 SQL 注入和跨站脚本 (XSS) 漏洞。 ## 项目概述 该扫描器的灵感来源于 Burp Suite 等专业工具,旨在用于教育和测试目的。它演示了 Web 应用程序安全测试的核心概念,包括: - Web 爬取和表单提取 - 差异响应分析 - 并发漏洞扫描 - 结构化报告 ## 功能 ### 1. Web Crawler - 对目标 URL 进行深度限制的爬取 - 内部链接提取和去重 - 相对 URL 解析 - 从 HTML 页面提取表单 - 针对超时和无效 URL 的错误处理 ### 2. SQL 注入检测 - 多种 payload 类别: - 身份验证绕过 - 联合查询 - 布尔盲注 - 报错注入 - 时间盲注 - 差异分析(基线 vs 注入后) - SQL 错误消息检测 - 响应大小异常检测 ### 3. XSS 检测 - 各种 payload 类型: - 基本脚本注入 - 事件处理程序 - JavaScript URI - 过滤器绕过尝试 - Payload 反射检测 - 基于表单的 XSS 测试 - URL 参数 XSS 测试 ### 4. Multi-threading - ThreadPoolExecutor 用于并发扫描 - 可配置的线程数 - 进度跟踪 ### 5. CLI 界面 - 基于 argparse 的命令行界面 - 可自定义选项: - 目标 URL - 爬取深度 - 线程数 - 请求超时 - 输出文件 - 默认 user-agent 字符串 ### 6. 报告 - 终端摘要输出 - JSON 报告生成 - 基于严重程度的分组 - Payload 和证据记录 ## 安装 ``` # Clone the repository git clone cd web-vuln-scanner # Create virtual environment (recommended) python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt ``` ## 使用 ### 基础扫描 ``` python main.py --url http://example.com ``` ### 带选项的完整扫描 ``` python main.py --url http://example.com --depth 2 --threads 5 --output report.json ``` ### 命令行选项 | Option | Short | Description | Default | |--------|-------|-------------|---------| | --url | -u | Target URL (required) | - | | --depth | -d | Crawl depth | 2 | | --threads | -t | Number of threads | 5 | | --output | -o | Output JSON file | - | | --timeout | - | Request timeout (seconds) | 10 | | --user-agent | - | Custom User-Agent | Browser default | ## 示例输出 ``` ╔═══════════════════════════════════════════════════════════════════╗ ║ Web Application Vulnerability Scanner v1.0 ║ ║ (Mini Burp Suite - Educational Purpose) ║ ╚═══════════════════════════════════════════════════════════╝ [+] Target URL: http://testphp.vulnweb.com [+] Crawl Depth: 2 [+] Max Threads: 5 [+] Timeout: 10s ------------------------------------------------------------ [*] Starting web crawl... [+] Crawled 15 URLs [*] Starting vulnerability scan... ============================================================ SCAN RESULTS ============================================================ [+] Total Vulnerabilities Found: 3 ------------------------------------------------------------ [1] CRITICAL [2] HIGH ------------------------------------------------------------ [+] SQL Injection Vulnerabilities: 2 [#] [HIGH] SQL INJECTION URL: http://testphp.vulnweb.com/search.php Parameter: search Payload: ' OR '1'='1 Evidence: Status code changed: 200 -> 500 [+] Cross-Site Scripting (XSS) Vulnerabilities: 1 [#] [HIGH] CROSS-SITE SCRIPTING (XSS) URL: http://testphp.vulnweb.com/comment.php Parameter: name Payload: Evidence: XSS payload reflected in response ============================================================ [*] Total scan time: 45.32 seconds ``` ## 项目结构 ``` web-vuln-scanner/ ├── main.py # Entry point ├── scanner/ │ ├── crawler.py # Web crawler module │ ├── scanner.py # Vulnerability scanner │ ├── payloads.py # SQLi and XSS payloads │ ├── reporter.py # Report generator │ └── utils.py # Utility functions ├── requirements.txt └── README.md ``` ## 报告格式 JSON 报告包括: ``` { "scan_metadata": { "timestamp": "2024-01-01T12:00:00", "total_vulnerabilities": 3 }, "vulnerabilities_by_severity": { "HIGH": [...], "MEDIUM": [...] }, "vulnerabilities_by_type": { "sql_injection": [...], "xss": [...] }, "vulnerabilities": [...] } ``` ## 严重级别 | Vulnerability Type | Severity | Score | |-------------------|----------|-------| | SQL Injection | HIGH | 10 | | XSS | MEDIUM | 7 | ## 技术细节 ### 差异分析 该扫描器使用差异响应分析: 1. 在不注入 payload 的情况下捕获基线响应 2. 注入 payload 并捕获测试响应 3. 比对: - HTTP 状态码 - 响应大小 - SQL 错误消息 - 内容异常 ### Multi-threading 使用 `concurrent.futures.ThreadPoolExecutor` 进行: - 并发 URL 扫描 - 资源高效的并行处理 - 可配置的线程限制 ### 错误处理 - 请求超时:每次扫描可配置 - 无效 URL:过滤并跳过 - 连接错误:记录并绕过 - 格式错误的响应:优雅处理 ## 限制 - 仅检测 SQL 注入和 XSS - 无身份验证处理 - 无会话管理 - 可能产生误报 - 无高级规避技术 - 仅限深度限制爬取 ## 免责声明 **仅限教育和授权测试用途** 该工具设计用于: - 学习 Web 应用程序安全概念 - 授权的安全测试 - 开发和预发布环境测试 **请勿将该工具用于:** - 您不拥有的系统 - 未经明确许可的系统 - 未经授权的生产环境 未经授权访问计算机系统是非法的。作者不对因滥用该工具造成的任何损害承担责任。 ## 许可证 Educational Use Only ## 参考文献 - OWASP Top 10 - OWASP Testing Guide - CWE-89: SQL Injection - CWE-79: Cross-site Scripting (XSS) *该项目仅供教育目的,并展示了具备工程招聘水平的理解能力。*
标签:BeEF, Burp Suite, CISA项目, DOE合作, Homebrew安装, JSON报告, Payload, Python, Union注入, Web安全, XSS, 加密, 响应分析, 并发扫描, 扫描器开发, 报错注入, 无后门, 时间盲注, 漏洞情报, 漏洞扫描器, 爬虫, 盲注, 网络安全, 自动化分析, 蓝队分析, 表单提取, 跨站脚本, 逆向工具, 链接解析, 隐私保护