Dushyant479/Automated-Web-Vulnerability-Scanner
GitHub: Dushyant479/Automated-Web-Vulnerability-Scanner
一款基于 Python 的教育型 Web 漏洞自动化扫描工具,用于检测 SQL 注入、XSS 及缺失安全标头等常见 Web 安全问题。
Stars: 0 | Forks: 0
# 自动化 Web 漏洞扫描器
一款基于 Python 的自动化安全测试工具,旨在识别常见的 Web 应用程序漏洞,如 SQL 注入 (SQLi)、盲注、跨站脚本攻击 (XSS) 以及缺失的安全标头。
## 概述
Web 应用程序是现代网络安全中最常成为攻击目标的系统之一。手动测试漏洞可能非常耗时,并且需要大量的专业知识。本项目通过爬取、payload 注入和响应分析,自动化了识别常见 Web 漏洞的过程。
该扫描器是作为一个教育性的网络安全项目开发的,旨在演示实用的漏洞评估技术和 Web 安全概念。
## 功能
* 自动化 Web 爬取
* 表单发现与提取
* SQL 注入检测
* 盲注检测(基于布尔值)
* 基于时间的 SQL 注入检测
* 跨站脚本攻击 (XSS) 检测
* 安全标头分析
* JSON 报告生成
* 集成 DVWA 进行测试
## 使用的技术
| 技术 | 用途 |
| -------------- | ------------------------------ |
| Python | 核心开发 |
| Requests | HTTP 请求处理 |
| BeautifulSoup4 | HTML 解析 |
| JSON | 报告生成 |
| Docker | DVWA 部署 |
| DVWA | 漏洞测试环境 |
## 项目结构
```
Automated-Web-Vulnerability-Scanner/
│
├── main.py
├── crawler.py
├── scanner.py
├── report.py
├── requirements.txt
├── screenshots/
└── README.md
```
### 模块说明
#### main.py
作为应用程序的入口点。处理用户输入、DVWA 身份验证、会话创建以及扫描器的执行。
#### crawler.py
负责爬取网页、提取表单和超链接,并执行安全标头分析。
#### scanner.py
实现漏洞检测逻辑,包括 SQL 注入、盲注、基于时间的 SQL 注入和 XSS 测试。
#### report.py
以 JSON 格式生成并存储漏洞发现结果。
## 安装说明
克隆仓库:
```
git clone https://github.com/Dushyant479/Automated-Web-Vulnerability-Scanner.git
cd Automated-Web-Vulnerability-Scanner
```
安装依赖项:
```
pip install -r requirements.txt
```
## 运行 DVWA
使用 Docker 启动 DVWA:
```
docker run --rm -it -p 8080:80 vulnerables/web-dvwa
```
打开:
```
http://localhost:8080
```
登录凭据:
```
Username: admin
Password: password
```
在测试前重置数据库。
## 运行扫描器
执行:
```
python main.py
```
出现提示时输入目标 URL。
示例:
```
Enter target URL: http://localhost:8080/vulnerabilities/xss_r/
Are you testing DVWA? (yes/no): yes
```
## 检测到的漏洞示例
扫描器能够识别以下漏洞:
* SQL 注入
* 盲注(基于布尔值)
* 基于时间的 SQL 注入
* 跨站脚本攻击 (XSS)
* 缺失的安全标头
检查的安全标头示例:
* Content-Security-Policy
* X-Frame-Options
* X-XSS-Protection
* Strict-Transport-Security
* X-Content-Type-Options
## 输出示例
检测到的漏洞以 JSON 格式存储:
```
{
"url": "http://localhost:8080/vulnerabilities/xss_r/",
"type": "XSS",
"payload": "",
"severity": "Medium"
}
```
## 截图
### DVWA 测试环境

### 项目结构

### 扫描器执行输出

### 生成的 JSON 报告

## 局限性
* 对重度依赖 JavaScript 的应用程序支持有限
* 基础的会话管理
* 可能出现误报
* URL 参数测试有限
## 未来增强
* 图形用户界面 (GUI)
* 多线程扫描
* 改进的会话和 CSRF 处理
* 额外的 OWASP 漏洞检查
* 以 PDF 和 HTML 格式导出报告
## 作者
**Dushyant Chaudhary**
标签:CISA项目, DOE合作, Homebrew安装, Python, SQL注入检测, Web安全, XSS检测, 字符串匹配, 安全, 无后门, 蓝队分析, 请求拦截, 超时处理, 逆向工具