Debasish-Nayak-656/Web-Pentest-Tool
GitHub: Debasish-Nayak-656/Web-Pentest-Tool
基于 Python Flask 的自动化 Web 漏洞扫描器,输入 URL 即可检测 SQL 注入、XSS 等常见漏洞并生成安全报告。
Stars: 0 | Forks: 0
# 🔐 web-pentest-tool
一个使用 **Python + Flask** 构建的毕业季网络安全项目,能够自动扫描目标网站并检测常见的 Web 漏洞。输入 URL,点击扫描,几秒钟内即可获得完整的漏洞报告。
## 🚀 功能介绍
粘贴任何 URL,它将自动运行 **5 项安全检查**:
| 模块 | 检查内容 |
|--------|----------------|
| 💉 SQL Injection | 将 SQL payload 注入表单,检测数据库错误 |
| ⚡ XSS 检测 | 测试脚本 payload 是否会在页面中反射回来 |
| 📂 目录发现 | 扫描 60 多个隐藏路径 — `/admin`、`/.env`、`/backup.sql` |
| 🔐 认证测试 | 检查登录表单是否存在 CAPTCHA、默认凭据、HTTPS |
| 🛡️ Header 分析 | 检查是否存在 CSP、HSTS、X-Frame-Options 等 |
每项发现都会显示其**风险等级**(高 / 中 / 低)、通俗的解释以及建议的修复方案。每次扫描后都会自动保存 PDF + TXT 报告。
## 🖥️ 技术栈
| 层级 | 工具 |
|-------|-------|
| 后端 | Python 3, Flask |
| 扫描 | `requests`, `BeautifulSoup4`, `concurrent.futures` |
| 报告 | `fpdf2` (PDF), `.txt`, `.json` |
| 前端 | HTML / CSS / JavaScript (暗色主题 UI) |
## ⚙️ 设置 — 3 个步骤
**1. 克隆仓库**
```
git clone https://github.com/your username/web-pentest-tool.git
cd web-pentest-tool
```
**2. 安装依赖**
```
pip install -r requirements.txt
```
**3. 运行工具**
```
python app.py
```
在浏览器中打开 **http://127.0.0.1:5000** 。
## 🎯 安全测试 URL
| URL | 配置 | 最适合用于 |
|-----|-------|----------|
| `http://testphp.vulnweb.com` | 无需配置 — 目前可在线访问 | 快速演示,所有 5 个模块都会触发 |
| `http://localhost:3000` | Docker (见下文) | 答辩演示 — 看起来像一个真实的网站 |
| `http://localhost/dvwa` | Docker (见下文) | 深度练习,难度可调 |
**运行 OWASP Juice Shop (最适合答辩演示):**
```
docker run -d -p 3000:3000 bkimminich/juice-shop
# 然后扫描:http://localhost:3000
```
**运行 DVWA:**
```
docker run -d -p 80:80 vulnerables/web-dvwa
# 然后扫描:http://localhost/dvwa (将 Security Level 设置为 → Low)
```
## 📁 文件夹结构
```
web-pentest-tool/
│
├── app.py ← Flask server + scan orchestrator
├── requirements.txt ← Python dependencies
├── README.md ← This file
│
├── modules/
│ ├── sql_injection.py ← Module 1: SQL Injection detection
│ ├── xss.py ← Module 2: XSS detection
│ ├── directory_scan.py ← Module 3: Directory discovery
│ ├── auth_test.py ← Module 4: Auth & login testing
│ ├── header_analysis.py ← Module 5: HTTP header analysis
│ └── report_generator.py ← PDF + TXT report builder
│
├── templates/
│ └── index.html ← Web UI (dark theme)
│
├── reports/ ← Scan reports saved here (auto-created)
└── logs/ ← Daily log files (auto-created)
```
## 📊 输出示例
扫描 `http://testphp.vulnweb.com` 之后:
```
Total Findings : 14
High Risk : 4
Medium Risk : 6
Low Risk : 4
[HIGH] SQL Injection — login.php
[HIGH] Missing Content-Security-Policy header
[MEDIUM] No CAPTCHA on login form
[MEDIUM] Missing X-Frame-Options header
[LOW] Server version disclosed in response headers
...
```
报告保存至 → `reports/scan_report_20240101_120009.pdf`
## ✅ 如何确认正常运行
| 检查项 | 您应该看到的内容 |
|-------|---------------------|
| 终端 | `Running on http://127.0.0.1:5000` |
| 浏览器 | 加载带有 URL 输入框的暗色 UI |
| 扫描后 | 出现摘要卡片 + 漏洞发现折叠面板 |
| reports/ 文件夹 | 创建了 `.pdf` 和 `.txt` 文件 |
| logs/ 文件夹 | 创建了 `scan_YYYYMMDD.log` 文件 |
## ⚖️ 法律与道德规范
本工具专为以下对象构建:
- **您拥有的**应用程序
- 专门的漏洞训练环境 (DVWA, Juice Shop, vulnweb)
- 学术 / 大学项目演示
根据《计算机滥用法》(英国)、《信息技术法 2000》(印度) 以及全球同等法律,未经书面许可扫描任何网站都是**违法的**。
## 🎓 项目信息
**类型:** 毕业季 B.Tech / B.Sc 计算机科学 / 网络安全项目
**主题:** OWASP Top 10 · SQL Injection · XSS · 道德黑客 · Web 安全 · Python · Flask
**要添加的 GitHub 主题:**
`python` `flask` `cybersecurity` `penetration-testing` `ethical-hacking`
`sql-injection` `xss` `owasp` `web-security` `final-year-project`
*使用 Python 3 · Flask · BeautifulSoup4 · fpdf2 构建*
标签:CISA项目, DOE合作, Flask, Python, Web安全, 加密, 多模态安全, 安全报告, 数据可视化, 数据泄露, 无后门, 漏洞扫描器, 自动化渗透测试, 蓝队分析, 逆向工具