shadoww80/web-vulnerability-scanner
GitHub: shadoww80/web-vulnerability-scanner
一款基于 Python 的模块化 Web 漏洞扫描器,支持检测 XSS、SQL 注入及 HTTP 安全标头配置错误并输出多种格式报告。
Stars: 1 | Forks: 0
# Web 漏洞扫描器
一款模块化的 Python 安全工具,用于检测常见的 Web 漏洞,包括跨站脚本攻击 (XSS)、SQL 注入以及 HTTP 安全标头配置错误。
## 概述
本项目提供了一款专业、可扩展的漏洞扫描器,专为安全研究人员和开发者设计。它遵循行业最佳实践,并采用清晰、模块化的架构构建,便于维护和扩展。
## 功能
- **XSS 检测**:识别反射型和存储型跨站脚本攻击漏洞
- **SQL 注入测试**:检测基于错误、基于布尔和基于时间的 SQL 注入缺陷
- **安全标头分析**:检查缺失和配置错误的 HTTP 安全标头
- **多种报告格式**:生成 JSON、HTML、Markdown 或纯文本格式的报告
- **可配置扫描**:自定义扫描深度、超时时间和目标范围
## 环境要求
- Python 3.12+
- 有关依赖项,请参阅 `requirements.txt`
## 安装说明
```
# Clone repository
git clone https://github.com/yourusername/web-vulnerability-scanner.git
cd web-vulnerability-scanner
# Install dependencies
pip install -r requirements.txt
```
## 使用说明
### 基础扫描
```
python main.py -u https://example.com
```
### 高级选项
```
# Scan specific vulnerability type
python main.py -u https://example.com -s xss
# Generate HTML report
python main.py -u https://example.com -f html -o report.html
# 带 custom timeout 的 verbose output
python main.py -u https://example.com -v --timeout 60
```
### 命令行参数
| 参数 | 描述 |
|----------|-------------|
| `-u, --url` | 要扫描的目标 URL(必填) |
| `-o, --output` | 输出文件路径(默认:scan_report.json) |
| `-f, --format` | 报告格式:json、html、markdown、text |
| `-s, --scan` | 扫描类型:headers、xss、sqli、all |
| `--timeout` | 请求超时时间(以秒为单位,默认:30) |
| `--depth` | 最大爬取深度(默认:3) |
| `-v, --verbose` | 启用详细输出 |
## 项目结构
```
web-vulnerability-scanner/
├── main.py # Entry point with CLI argument parsing
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── scanner/ # Core scanner modules
│ ├── __init__.py
│ ├── crawler.py # Web crawler for endpoint discovery
│ ├── headers.py # Security header analyzer
│ ├── xss.py # XSS vulnerability scanner
│ ├── sqli.py # SQL injection scanner
│ ├── report.py # Report generation
│ └── utils.py # Utility functions
├── reports/ # Report templates and outputs
│ └── __init__.py
└── tests/ # Test suite
└── __init__.py
```
## 扫描器模块
### 爬虫 (`scanner/crawler.py`)
通过爬取目标 Web 应用程序来发现 endpoint、表单和潜在的注入点。
### 标头扫描器 (`scanner/headers.py`)
分析 HTTP 响应标头,检查安全最佳实践和常见的配置错误。
### XSS 扫描器 (`scanner/xss.py`)
使用各种注入技术测试 Web endpoint 是否存在跨站脚本攻击漏洞。
### SQL 注入扫描器 (`scanner/sqli.py`)
通过基于错误和盲注测试来检测 SQL 注入漏洞。
### 报告生成器 (`scanner/report.py`)
以多种输出格式生成格式化的扫描结果报告。
## 安全提示
此工具仅供授权的安全测试使用。在扫描任何 Web 应用程序之前,请务必获得适当的许可。未经授权的扫描可能会违反相关法律法规。
## 开源许可证
本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 免责声明
此工具仅用于教育和授权的安全测试目的。开发者不对因使用此软件而造成的任何滥用或损害负责。
标签:CISA项目, Python, Web安全, 加密, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具