YashDalvee-Dev/web-vulnerability-scanner
GitHub: YashDalvee-Dev/web-vulnerability-scanner
一个用Python编写的轻量级Web安全扫描工具,提供HTTP状态检测、安全头分析和端口扫描功能,帮助初学者和开发者快速了解Web应用的基础安全配置状况。
Stars: 0 | Forks: 0
# 🔍 Web 漏洞扫描器




## 📖 描述
**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安全, 初学者友好, 加密, 安全基线检查, 安全评分, 密码管理, 开源安全工具, 插件系统, 教育目的, 数据统计, 无后门, 漏洞扫描器, 端口扫描, 网站安全检测, 网络安全, 蓝队分析, 运维工具, 逆向工具, 逆向工程平台, 隐私保护