YashDalvee-Dev/web-vulnerability-scanner

GitHub: YashDalvee-Dev/web-vulnerability-scanner

一个用Python编写的轻量级Web安全扫描工具,提供HTTP状态检测、安全头分析和端口扫描功能,帮助初学者和开发者快速了解Web应用的基础安全配置状况。

Stars: 0 | Forks: 0

# 🔍 Web 漏洞扫描器 ![Python](https://img.shields.io/badge/Python-3.8+-blue?style=flat-square&logo=python) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Status](https://img.shields.io/badge/Status-Active-brightgreen?style=flat-square) ![Purpose](https://img.shields.io/badge/Purpose-Educational-orange?style=flat-square) ## 📖 描述 **Web Vulnerability Scanner** 是一个用 Python 编写的轻量级命令行工具,用于对 Web 目标执行基础安全分析。它专为学习网络安全概念的初学者和希望快速审计其 Web 应用程序常见配置错误的开发者而设计。 ## ✨ 功能特性 | 功能 | 描述 | |---|---| | 🌐 HTTP 状态检查 | 检测响应代码和重定向链 | | 📋 响应头检查器 | 显示所有关键响应头及风险标记 | | 🛡️ 安全头分析器 | 检查 7 个关键安全头并评分 | | 🔌 端口扫描器 | 扫描 9 个常见端口(HTTP, HTTPS, SSH, FTP, 数据库端口) | | 🎨 彩色 CLI 输出 | 使用 `colorama` 进行颜色编码的结果 | | 📊 安全评分 | 基于百分比的安全头覆盖率评分 | | 🧭 交互式菜单 | 带有扫描选项的用户友好 CLI 菜单 | ## 📁 项目结构 ``` web-vulnerability-scanner/ ├── scanner.py # Main scanner script ├── requirements.txt # Python dependencies └── README.md # Project documentation ``` ## ⚙️ 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/yourusername/web-vulnerability-scanner.git cd web-vulnerability-scanner ``` ### 2. (可选)创建虚拟环境 ``` python -m venv venv # 在 Windows 上: venv\Scripts\activate # 在 macOS/Linux 上: source venv/bin/activate ``` ### 3. 安装依赖 ``` pip install -r requirements.txt ``` ## 🚀 用法 ``` python scanner.py ``` 你将看到一个交互式菜单: ``` [1] Run Full Scan (Recommended) [2] HTTP Status Check Only [3] Security Headers Check Only [4] Port Scan Only [0] Exit ``` 输入你的选择,然后提供目标 URL: ``` → Target URL: https://example.com ``` ## 📊 示例输出 ``` ────────────────────────────────────────────────── HTTP Status Code Check ────────────────────────────────────────────────── [✔] Status Code: 200 → OK, site is reachable ────────────────────────────────────────────────── Security Headers Analysis ────────────────────────────────────────────────── Present Security Headers: [✔] Strict-Transport-Security ← Enforces HTTPS connections (HSTS) [✔] X-Content-Type-Options ← Prevents MIME sniffing Missing Security Headers: [✘] Content-Security-Policy ← Prevents XSS and data injection attacks [✘] X-Frame-Options ← Prevents clickjacking attacks [✘] Referrer-Policy ← Controls referrer information sent with requests Security Score: 2/7 headers present (28%) ▓▓░░░░░░░░ Poor — Many headers missing! ────────────────────────────────────────────────── Port Scan ────────────────────────────────────────────────── [ℹ] Target Host : example.com [✔] Port 80 (HTTP) → OPEN [✔] Port 443 (HTTPS) → OPEN [✘] Port 22 (SSH) → CLOSED / FILTERED [✘] Port 21 (FTP) → CLOSED / FILTERED [✘] Port 3306 (MySQL) → CLOSED / FILTERED ``` ## 🔬 检查内容 ### 安全头详解 | 头部 (Header) | 缺失时的风险 | |---|---| | `Content-Security-Policy` | XSS,代码注入 | | `X-Frame-Options` | 点击劫持 | | `X-Content-Type-Options` | MIME 类型混淆攻击 | | `Strict-Transport-Security` | SSL 剥离,降级攻击 | | `Referrer-Policy` | 信息泄露 | | `Permissions-Policy` | 未授权的浏览器 API 访问 | | `X-XSS-Protection` | 反射型 XSS(旧版浏览器) | ## 🛠️ 技术栈 - **Python 3.8+** - [`requests`](https://docs.python-requests.org/) — HTTP 请求 - [`socket`](https://docs.python.org/3/library/socket.html) — 端口扫描(内置) - [`colorama`](https://pypi.org/project/colorama/) — 彩色终端输出 ## 🔮 未来改进 - [ ] SSL/TLS 证书检查器 - [ ] 子域名枚举 - [ ] 目录暴力破解 - [ ] JSON/HTML 报告导出 - [ ] CVE 查询集成 - [ ] 异步扫描以提升速度 ## 📜 许可证 本项目采用 **MIT License** 授权 — 可免费用于教育目的进行使用、修改和分发。 ## 👨‍💻 作者 作为网络安全作品集项目构建。欢迎贡献和反馈!
标签:GitHub安全项目, HTTP头部分析, Python, Web安全, 初学者友好, 加密, 安全基线检查, 安全评分, 密码管理, 开源安全工具, 插件系统, 教育目的, 数据统计, 无后门, 漏洞扫描器, 端口扫描, 网站安全检测, 网络安全, 蓝队分析, 运维工具, 逆向工具, 逆向工程平台, 隐私保护