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安全, 加密, 多模态安全, 安全报告, 数据可视化, 数据泄露, 无后门, 漏洞扫描器, 自动化渗透测试, 蓝队分析, 逆向工具