Vergil-007/Web-Vulnerability-Scanner
GitHub: Vergil-007/Web-Vulnerability-Scanner
一款基于 OWASP Top 10 标准的自动化 Web 漏洞扫描器,通过检测 HTTP 标头、SSL/TLS、端口暴露和服务器配置来量化安全风险并生成 PDF 报告。
Stars: 0 | Forks: 0
# 🛡️ 自动化 Web 漏洞扫描器





## 📌 概述
**自动化 Web 漏洞扫描器**是一款针对 Web 应用程序进行全面安全评估的网络安全工具。它检查与 **OWASP Top 10 (2021)** 相关的常见漏洞,并生成包含可操作修复建议的专业 PDF 报告。
作为**网络安全实习项目**构建,该工具展示了对以下方面的实践知识:
* Web 应用程序安全概念
* HTTP 协议和安全标头
* SSL/TLS 证书检查
* 网络端口扫描
* 威胁评分和风险量化
## ✨ 功能
| 模块 | 功能描述 |
| --------------------------- | ----------------------------------------------------------------------------------- |
| 🔒 **HTTP 标头分析器** | 检查 10 个关键安全标头(CSP、HSTS、X-Frame-Options 等) |
| 🔐 **SSL/TLS 检查器** | 证书有效性、过期倒计时、颁发者、TLS 版本、自签名检测 |
| 🌐 **端口扫描器** | 通过并行线程扫描 16 个常见端口,标记 CRITICAL 暴露 |
| 🖥 **服务器分析器** | 识别服务器软件、CMS、Cookie 标志、HTTPS 重定向、版本披露的特征 |
| 📊 **评分引擎** | 加权的 0–100 安全评分,包含各模块细分 |
| 📄 **PDF 报告** | 通过 ReportLab 生成可下载的专业报告 |
| 🗄 **扫描历史** | 所有扫描结果本地存储在 SQLite 中,可在历史记录页面查看 |
## 🚀 快速开始
### 前置条件
* Python 3.10 或更高版本
* pip
### 安装说明
```
# 克隆 repository
git clone REPO URL
# 导航到 project 文件夹
cd Web_Vulnerability_Scanner
# 创建 virtual environment(可选)
python -m venv venv
# 激活 environment
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activate
# 安装 dependencies
pip install -r requirements.txt
# 运行 application
streamlit run app.py
```
应用程序将在以下地址可用:
```
http://localhost:8501
```
## 🗂️ 项目结构
```
web-vulnerability-scanner/
│
├── app.py
│
├── modules/
│ ├── __init__.py
│ ├── header_analyzer.py
│ ├── ssl_inspector.py
│ ├── port_scanner.py
│ ├── server_analyzer.py
│ ├── score_calculator.py
│ └── report_generator.py
│
├── database/
│ ├── __init__.py
│ └── db_manager.py
│
├── .streamlit/
│ └── config.toml
│
├── requirements.txt
├── scans.db
└── README.md
```
## 🔍 执行的安全检查
### HTTP 安全标头 (35 分)
| 标头 | OWASP 参考 | 目的 |
| ---------------------------- | --------- | --------------------------------- |
| Content-Security-Policy | A03:2021 | 防范 XSS / 注入 |
| Strict-Transport-Security | A02:2021 | 强制使用 HTTPS |
| X-Frame-Options | A05:2021 | 防范点击劫持 |
| X-Content-Type-Options | A05:2021 | 防范 MIME 嗅探 |
| Referrer-Policy | A05:2021 | 控制信息泄露 |
| Permissions-Policy | A05:2021 | 浏览器特性控制 |
| X-XSS-Protection | A03:2021 | 旧版 XSS 过滤器 |
| Cache-Control | A02:2021 | 敏感数据缓存保护 |
| Cross-Origin-Opener-Policy | A05:2021 | 浏览上下文隔离 |
| Cross-Origin-Resource-Policy | A05:2021 | 跨域读取保护 |
### SSL / TLS 分析 (30 分)
* 证书有效性验证
* 过期监控
* TLS 版本评估
* 自签名证书检测
* 通配符证书检测
* 主体备用名称 (SANs) 分析
### 端口安全分析 (20 分)
| 风险等级 | 示例端口 |
| ----------- | -------------------------- |
| 🔴 CRITICAL | 3306, 27017, 6379, 23, 445 |
| 🟠 HIGH | 21, 110, 143 |
| 🟡 MEDIUM | 22, 25, 53 |
| 🟢 LOW | 80, 443 |
### 服务器配置 (15 分)
* HTTPS 重定向验证
* 安全 Cookie 检测
* HttpOnly Cookie 验证
* 服务器 Banner 泄露检测
* HTTP/2 支持分析
## 📊 评分系统
```
Security Score (0–100)
HTTP Headers → 35 Points
SSL/TLS → 30 Points
Port Security → 20 Points
Server Config → 15 Points
Grade Scale
80–100 ✅ SECURE
60–79 ⚠️ MODERATE RISK
40–59 🟠 VULNERABLE
0–39 🔴 CRITICAL RISK
```
## 🛠️ 技术栈
| 技术 | 用途 |
| ------------------ | ---------------------- |
| Python 3.10+ | 核心开发 |
| Streamlit | 用户界面 |
| Requests | HTTP 通信 |
| Socket | TCP 端口扫描 |
| SSL Library | 证书检查 |
| ReportLab | PDF 报告生成 |
| SQLite3 | 本地数据库存储 |
| ThreadPoolExecutor | 并行处理 |
## 👥 项目团队
| 姓名 | 邮箱 | LinkedIn |
| -------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Rampelli Rithwik** | [RampelliRithwik@gmail.com](mailto:RampelliRithwik@gmail.com) | [LinkedIn](https://www.linkedin.com/in/rithwik-rampelli-2067612b2/) |
| **Kommidi Vishravas Reddy** | [vishravasreddy@gmail.com](mailto:vishravasreddy@gmail.com) | [LinkedIn](https://www.linkedin.com/in/vishravasreddy-kommidi-997463288/)|
| **Abhinav Rama** | [abhinavrama2005@gmail.com](mailto:abhinavrama2005@gmail.com) | [LinkedIn](https://www.linkedin.com/in/abhinav-rama-b44302304/) |
| **Samudrala Srinivasa Vyshnavi** | [svyshnavi.samudrala@gmail.com](mailto:svyshnavi.samudrala@gmail.com) | [LinkedIn](https://www.linkedin.com/in/samudrala-vyshnavi-824862282/) |
## ⚠️ 免责声明
本工具仅供**授权的安全测试**使用。
仅扫描您拥有或获得明确书面测试许可的系统。
未经授权扫描系统可能违反当地法律法规。
## 📄 许可证
本项目基于 MIT 许可证授权。
详情请参阅 **LICENSE** 文件。
标签:Kubernetes, OWASP Top 10, Python, Streamlit, Web漏洞扫描, 主机安全, 字符串匹配, 安全报告生成, 插件系统, 无后门, 自动化安全评估, 访问控制, 逆向工具