Ricci-ricci/Web_Vuln_scanner

GitHub: Ricci-ricci/Web_Vuln_scanner

一个面向教育与作品集展示的 Python Web 漏洞扫描器,自动化发现常见安全缺陷并生成结构化报告。

Stars: 0 | Forks: 0

# 🔍 Web 漏洞扫描器 一个用于教育目的和作品集展示的 Python 网络漏洞扫描器。 它会自动爬取目标网络应用并检查常见的安全配置错误 和漏洞,生成详细的发现报告。 ## ⚠️ 法律声明 ## 📖 概述 现代网络应用复杂且经常带有容易被忽视的安全缺陷—— 缺失的 HTTP 头部、未验证的用户输入、过时的 TLS 配置等。该扫描器 自动化检测这些缺陷,以便开发者和安全从业者在恶意行为者利用之前识别并修复它们。 本项目作为作品集,用于展示以下方面的实践知识: - Web 应用安全概念(OWASP Top 10) - Python 软件架构与设计模式 - HTTP 内部机制与浏览器安全机制 - 自动化测试与报告流水线 ## ✨ 功能 | 模块 | 检查内容 | |---|---| | **安全头部** | 检测缺失的头部,例如 `Content-Security-Policy`、`X-Frame-Options`、`Strict-Transport-Security` 等。 | | **XSS 检测** | 向 GET/POST 参数和表单字段注入载荷以检测反射型跨站脚本。 | | **SQL 注入** | 使用基于错误和基于布尔的载荷测试输入,以暴露潜在的 SQL 注入漏洞。 | | **开放重定向** | 识别将用户盲目重定向到任意外部 URL 的参数。 | | **目录遍历** | 发现暴露的目录索引,以揭示服务器文件结构。 | | **SSL/TLS 审计** | 检查证书有效性、过期情况以及协议版本弱点。 | 额外能力: - **内置爬虫** — 自动爬取目标以发现页面、链接和表单,然后再进行扫描。 - **严重等级** — 每个发现项被评定为 `低`、`中`、`高` 或 `严重`。 - **多种输出格式** — 结果可在终端显示或导出为 JSON 和 HTML。 - **模块化架构** — 新的漏洞模块可以以最少的样板代码添加。 ## 🏗️ 架构 项目围绕一个简单的流水线组织: ``` CLI → Engine → Spider → Modules → Reporter ``` 1. **CLI** — 解析用户参数(目标 URL、要运行的模块、输出格式等) 2. **引擎** — 协调扫描:初始化 HTTP 客户端,运行爬虫,然后分发每个模块。 3. **爬虫** — 爬取目标应用以构建 URL 列表、查询参数和 HTML 表单。 4. **模块** — 每个模块接收爬取的端点并独立测试特定类别的漏洞。 5. **报告器** — 聚合所有模块的结果并渲染到终端或导出文件。 每个模块继承自通用的 `BaseModule` 接口,使系统易于扩展。一个 由任何模块生成的发现项始终包含:受影响的 URL、严重等级、问题描述、 观察到的证据(载荷、头部值等)以及建议的修复步骤。 ## 🛠️ 技术栈 | 层 | 技术 | |---|---| | 语言 | Python 3.11+ | | HTTP 客户端 | `httpx`(异步) | | HTML 解析 | `beautifulsoup4` | | CLI | `typer` + `rich` | | 数据模型 | `pydantic` v2 | | HTML 报告 | `jinja2` | | 测试 | `pytest` + `pytest-httpx` | ## 🚀 使用方法 ``` # 使用所有模块扫描目标 python -m scanner scan https://example.com # 仅使用特定模块扫描 python -m scanner scan https://example.com --modules xss,sqli,headers # 将结果导出为 JSON python -m scanner scan https://example.com --output json --report reports/result.json # 将结果导出为 HTML python -m scanner scan https://example.com --output html --report reports/result.html ``` ## 📁 项目结构 ``` web_vuln_scanner/ ├── scanner/ │ ├── cli.py # Entry point │ ├── core/ │ │ ├── engine.py # Scan orchestrator │ │ ├── http_client.py # HTTP session wrapper │ │ └── target.py # Target model │ ├── crawler/ │ │ └── spider.py # Link and form crawler │ ├── modules/ │ │ ├── base.py # BaseModule interface │ │ ├── xss.py │ │ ├── sqli.py │ │ ├── headers.py │ │ ├── open_redirect.py │ │ ├── directory_listing.py │ │ └── ssl_tls.py │ ├── report/ │ │ ├── models.py # Finding / Report dataclasses │ │ ├── console.py # Rich terminal output │ │ └── exporter.py # JSON / HTML export │ └── utils/ │ ├── logger.py │ └── helpers.py ├── tests/ ├── reports/ ├── requirements.txt └── README.md ``` ## ⚙️ 安装 ``` git clone https://github.com/your-username/web_vuln_scanner.git cd web_vuln_scanner python -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## 📄 许可证 本项目采用 MIT 许可证。详细信息请参阅 [LICENSE](LICENSE) 文件。
标签:API密钥检测, HTTP安全, OWASP Top 10, Python, SEO扫描, SSL/TLS审计, Web安全扫描器, Web界面, XSS, 内存取证对抗, 威胁情报, 安全报告, 安全标头检测, 安全规则引擎, 开发者工具, 开放重定向, 无后门, 漏洞情报, 网络安全, 自动化URL分析, 输入验证, 运行时操纵, 隐私保护