jpaul73/vulnerability_scanner
GitHub: jpaul73/vulnerability_scanner
一款基于 Python 的基础漏洞扫描器,可检测开放端口、缺失的 HTTP 安全标头及服务器信息泄露,并生成安全报告。
Stars: 0 | Forks: 0
# 漏洞扫描器
## 概述
漏洞扫描器是一款基于 Python 的网络安全工具,可对网站或本地托管的 Web 应用程序执行基础安全评估。它有助于识别常见的安全问题,例如开放端口、缺失的 HTTP 安全标头以及服务器信息泄露。
本项目是作为一个初学者网络安全迷你项目开发的,旨在了解漏洞评估的工作原理,以及安全专业人员如何在攻击者利用潜在弱点之前发现它们。
## 功能
- 扫描常见的 TCP 端口
- 检测开放端口
- 检查缺失的 HTTP 安全标头
- 识别服务器信息泄露
- 生成漏洞报告
- 提供基础安全建议
- 简单的命令行界面
## 使用的技术
- Python 3
- Socket Module
- Requests Library
- VS Code
## 项目结构
```
Vulnerability-Scanner/
│
├── scanner.py
├── report.txt
├── requirements.txt
├── README.md
└── screenshots/
├── task1.png
├── server.png
└── report.png
```
## 安装
克隆仓库:
```
git clone https://github.com/your-username/basic-vulnerability-scanner.git
```
进入项目文件夹:
```
cd basic-vulnerability-scanner
```
安装所需的包:
```
pip install -r requirements.txt
```
## 用法
运行扫描器:
```
python scanner.py
```
输入目标:
```
localhost
```
或
```
example.com
```
扫描器将:
- 扫描常见端口
- 检查 HTTP 安全标头
- 检测服务器信息泄露
## 示例输出
```
===== OPEN PORT SCAN =====
Port 80 OPEN
===== SECURITY HEADER CHECK =====
Content-Security-Policy Missing
X-Frame-Options Present
Strict-Transport-Security Missing
Server: Python HTTP Server
```
## 执行的安全检查
### 端口扫描
扫描包含以下常见端口:
- 21 (FTP)
- 22 (SSH)
- 25 (SMTP)
- 53 (DNS)
- 80 (HTTP)
- 110 (POP3)
- 143 (IMAP)
- 443 (HTTPS)
- 3306 (MySQL)
- 3389 (RDP)
- 8080 (HTTP Alternate)
### HTTP 安全标头
检查以下内容:
- Content-Security-Policy
- X-Frame-Options
- Strict-Transport-Security
- X-Content-Type-Options
- Referrer-Policy
### 信息泄露
检测暴露的 Server 标头。
## 报告
每次扫描后,都会自动生成报告:
```
report.txt
```
报告包含:
- 目标
- 开放端口
- 缺失的安全标头
- 服务器信息
- 安全建议
## 项目工作流
```
User Input
│
▼
Target Validation
│
▼
Port Scan
│
▼
Header Analysis
│
▼
Server Information Detection
│
▼
Generate Report
```
## 未来改进
- 端口范围扫描
- Banner grabbing
- SSL/TLS 证书分析
- HTML 报告生成
- PDF 报告导出
- CVE 查询
- 多线程以加快扫描速度
- 风险严重性分级
- GUI 界面
## 免责声明
本工具仅供教育目的使用。
仅扫描您拥有或获得明确测试权限的系统或 Web 应用程序。未经授权的扫描可能会违反法律或组织政策。
## 作者
Paul Doniyal J
网络安全学生
对 SOC、蓝队运营、SIEM、Splunk、网络安全和漏洞评估感兴趣。
标签:HTTP安全头检测, Python, 加密, 字符串匹配, 实时处理, 插件系统, 数据统计, 无后门, 漏洞扫描器, 端口扫描