AbhinavS0201/Web_Vulnerability_Scanner
GitHub: AbhinavS0201/Web_Vulnerability_Scanner
一款基于 Streamlit 的自动化 Web 漏洞扫描器,对目标网站进行 OWASP Top 10 安全检查并生成包含评分的 PDF 报告。
Stars: 2 | 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
### 安装说明
```
# Clone 仓库
git clone https://github.com/AbhinavS0201/Web_Vulnerability_Scanner.git
# 导航到项目文件夹
cd Web_Vulnerability_Scanner
# 创建 virtual environment(可选)
python -m venv venv
# 激活环境
# 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 |
| -------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **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/) |
| **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/)|
## ⚠️ 免责声明
本工具仅供 **授权的安全测试** 使用。
仅扫描您拥有或获得明确书面测试许可的系统。
未经授权扫描系统可能违反当地法律法规。
## 📄 许可证
该项目基于 MIT 许可证授权。
详情请参阅 **LICENSE** 文件。
标签:Kubernetes, OWASP Top 10, PDF报告, Python, SSL/TLS分析, Streamlit, Web漏洞扫描, 反取证, 字符串匹配, 安全评估, 密码管理, 插件系统, 数据统计, 无后门, 端口扫描, 访问控制, 逆向工具