Ranjana2707/AegisScan
GitHub: Ranjana2707/AegisScan
一个基于 Python 的模块化 Web 漏洞扫描器,利用自动爬取和差异响应分析来检测 SQL 注入和 XSS 漏洞。
Stars: 0 | Forks: 0
# Web 应用程序漏洞扫描器
一个使用 Python 编写的模块化、生产级 Web Application Vulnerability Scanner。该工具旨在通过自动爬取和差异响应分析来检测 Web 应用程序中的 SQL 注入和跨站脚本 (XSS) 漏洞。
## 项目概述
该扫描器的灵感来源于 Burp Suite 等专业工具,旨在用于教育和测试目的。它演示了 Web 应用程序安全测试的核心概念,包括:
- Web 爬取和表单提取
- 差异响应分析
- 并发漏洞扫描
- 结构化报告
## 功能
### 1. Web Crawler
- 对目标 URL 进行深度限制的爬取
- 内部链接提取和去重
- 相对 URL 解析
- 从 HTML 页面提取表单
- 针对超时和无效 URL 的错误处理
### 2. SQL 注入检测
- 多种 payload 类别:
- 身份验证绕过
- 联合查询
- 布尔盲注
- 报错注入
- 时间盲注
- 差异分析(基线 vs 注入后)
- SQL 错误消息检测
- 响应大小异常检测
### 3. XSS 检测
- 各种 payload 类型:
- 基本脚本注入
- 事件处理程序
- JavaScript URI
- 过滤器绕过尝试
- Payload 反射检测
- 基于表单的 XSS 测试
- URL 参数 XSS 测试
### 4. Multi-threading
- ThreadPoolExecutor 用于并发扫描
- 可配置的线程数
- 进度跟踪
### 5. CLI 界面
- 基于 argparse 的命令行界面
- 可自定义选项:
- 目标 URL
- 爬取深度
- 线程数
- 请求超时
- 输出文件
- 默认 user-agent 字符串
### 6. 报告
- 终端摘要输出
- JSON 报告生成
- 基于严重程度的分组
- Payload 和证据记录
## 安装
```
# Clone the repository
git clone
cd web-vuln-scanner
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
```
## 使用
### 基础扫描
```
python main.py --url http://example.com
```
### 带选项的完整扫描
```
python main.py --url http://example.com --depth 2 --threads 5 --output report.json
```
### 命令行选项
| Option | Short | Description | Default |
|--------|-------|-------------|---------|
| --url | -u | Target URL (required) | - |
| --depth | -d | Crawl depth | 2 |
| --threads | -t | Number of threads | 5 |
| --output | -o | Output JSON file | - |
| --timeout | - | Request timeout (seconds) | 10 |
| --user-agent | - | Custom User-Agent | Browser default |
## 示例输出
```
╔═══════════════════════════════════════════════════════════════════╗
║ Web Application Vulnerability Scanner v1.0 ║
║ (Mini Burp Suite - Educational Purpose) ║
╚═══════════════════════════════════════════════════════════╝
[+] Target URL: http://testphp.vulnweb.com
[+] Crawl Depth: 2
[+] Max Threads: 5
[+] Timeout: 10s
------------------------------------------------------------
[*] Starting web crawl...
[+] Crawled 15 URLs
[*] Starting vulnerability scan...
============================================================
SCAN RESULTS
============================================================
[+] Total Vulnerabilities Found: 3
------------------------------------------------------------
[1] CRITICAL
[2] HIGH
------------------------------------------------------------
[+] SQL Injection Vulnerabilities: 2
[#] [HIGH] SQL INJECTION
URL: http://testphp.vulnweb.com/search.php
Parameter: search
Payload: ' OR '1'='1
Evidence: Status code changed: 200 -> 500
[+] Cross-Site Scripting (XSS) Vulnerabilities: 1
[#] [HIGH] CROSS-SITE SCRIPTING (XSS)
URL: http://testphp.vulnweb.com/comment.php
Parameter: name
Payload:
Evidence: XSS payload reflected in response
============================================================
[*] Total scan time: 45.32 seconds
```
## 项目结构
```
web-vuln-scanner/
├── main.py # Entry point
├── scanner/
│ ├── crawler.py # Web crawler module
│ ├── scanner.py # Vulnerability scanner
│ ├── payloads.py # SQLi and XSS payloads
│ ├── reporter.py # Report generator
│ └── utils.py # Utility functions
├── requirements.txt
└── README.md
```
## 报告格式
JSON 报告包括:
```
{
"scan_metadata": {
"timestamp": "2024-01-01T12:00:00",
"total_vulnerabilities": 3
},
"vulnerabilities_by_severity": {
"HIGH": [...],
"MEDIUM": [...]
},
"vulnerabilities_by_type": {
"sql_injection": [...],
"xss": [...]
},
"vulnerabilities": [...]
}
```
## 严重级别
| Vulnerability Type | Severity | Score |
|-------------------|----------|-------|
| SQL Injection | HIGH | 10 |
| XSS | MEDIUM | 7 |
## 技术细节
### 差异分析
该扫描器使用差异响应分析:
1. 在不注入 payload 的情况下捕获基线响应
2. 注入 payload 并捕获测试响应
3. 比对:
- HTTP 状态码
- 响应大小
- SQL 错误消息
- 内容异常
### Multi-threading
使用 `concurrent.futures.ThreadPoolExecutor` 进行:
- 并发 URL 扫描
- 资源高效的并行处理
- 可配置的线程限制
### 错误处理
- 请求超时:每次扫描可配置
- 无效 URL:过滤并跳过
- 连接错误:记录并绕过
- 格式错误的响应:优雅处理
## 限制
- 仅检测 SQL 注入和 XSS
- 无身份验证处理
- 无会话管理
- 可能产生误报
- 无高级规避技术
- 仅限深度限制爬取
## 免责声明
**仅限教育和授权测试用途**
该工具设计用于:
- 学习 Web 应用程序安全概念
- 授权的安全测试
- 开发和预发布环境测试
**请勿将该工具用于:**
- 您不拥有的系统
- 未经明确许可的系统
- 未经授权的生产环境
未经授权访问计算机系统是非法的。作者不对因滥用该工具造成的任何损害承担责任。
## 许可证
Educational Use Only
## 参考文献
- OWASP Top 10
- OWASP Testing Guide
- CWE-89: SQL Injection
- CWE-79: Cross-site Scripting (XSS)
*该项目仅供教育目的,并展示了具备工程招聘水平的理解能力。*
标签:BeEF, Burp Suite, CISA项目, DOE合作, Homebrew安装, JSON报告, Payload, Python, Union注入, Web安全, XSS, 加密, 响应分析, 并发扫描, 扫描器开发, 报错注入, 无后门, 时间盲注, 漏洞情报, 漏洞扫描器, 爬虫, 盲注, 网络安全, 自动化分析, 蓝队分析, 表单提取, 跨站脚本, 逆向工具, 链接解析, 隐私保护