sreer22/VulnScan-Pro-Web-Application-Vulnerability-Scanner
GitHub: sreer22/VulnScan-Pro-Web-Application-Vulnerability-Scanner
一款基于 Python 和 Flask 构建的开源 Web 应用漏洞扫描器,集成 SQL 注入、XSS、CVE、WAF 检测、端口扫描与 WHOIS 查询等安全评估功能,并提供扫描历史仪表板。
Stars: 0 | Forks: 0
# VulnScan Pro — Web 应用程序漏洞扫描器
这是一个微型项目,作为获得 Namakkal 637 503 Mahendra Engineering College (Autonomous) 网络安全工程学士学位的部分要求提交。
Mahendra Engineering College (Autonomous), Namakkal – 637 503
## 学年:2025–2026
# 👥 团队成员
## 姓名 - 学号
1. Sreeyakeshrajan T - 6113231281086
2. Tharanidharan M - 6113231281090
3. Sureshkumar P - 6113231281088
4. Praveen K R - 611323128 3807
### 指导教师:
Ms. R. Jananipriya, M.E.
### 系主任:
Dr. A. Neelamadheswari, M.E., Ph.D.
# 📌 摘要
VulnScan Pro 是一款使用 Python 和 Flask 构建的先进开源 Web 应用程序漏洞扫描器。它执行涵盖以下内容的多维度安全评估:
1. SQL 注入检测
2. 跨站脚本攻击 (XSS) 探测
3. 通过服务器响应头进行 CVE 匹配
4. Web 应用程序防火墙 (WAF) 识别
5. 开放端口扫描
6. DNS/IP 解析、WHOIS 查询和子域名枚举(通过 crt.sh)
结果保存在 SQLite 数据库中,可通过扫描历史仪表板查看。UI 采用深色主题的玻璃拟态设计,并带有动画加载遮罩。
# 🛠️ 技术栈
## 层级 - 技术
1. 后端 - Python 3, Flask
2. 数据库 - SQLite
3. 前端 - HTML, CSS, JavaScript
4. API - crt.sh (Certificate Transparency), NIST NVD
5. 库 - requests, socket, whois
# ✨ 功能特性
## 🔐 SQL 注入检测:
基于 payload 的测试,结合错误模式匹配
## 🧨 XSS 检测:
带有响应分析的反射型 XSS 探测
## 🗂️ CVE 查询:
将服务器指纹与本地 CVE 数据库进行匹配
## 🛡️ WAF 检测:
识别 Cloudflare、Sucuri、Incapsula
## 🔌 端口扫描:
检查常用端口(80、443、8080、3306 等)
## 🌐 DNS 和 WHOIS:
域名解析和注册信息
## 📋 子域名枚举:
通过 crt.sh Certificate Transparency 日志
## 🕓 扫描历史仪表板:
由 SQLite 支持的持久化历史记录,包含统计数据
# 📁 项目结构
vulnscan-pro/
│
├── app.py # Flask 应用程序与路由处理程序
├── scanner.py # 核心扫描引擎
├── cve_db.py # 本地 CVE 数据库
├── templates/
│ ├── index.html # 主扫描器 UI
│ └── dashboard.html # 扫描历史仪表板
└── vulnscan.db # SQLite 扫描历史(自动创建)
# 🚀 入门指南
## 前置条件
Bash : pip install flask requests python-whois
## 运行应用程序
Bash : python app.py
然后在浏览器中打开:http://127.0.0.1:5000
# 🧪 模块概述
## 模块 - 文件 - 描述
i) Flask App - app.py - 路由、数据库初始化、扫描结果处理
ii) SQL 注入 - scanner.py - Payload 注入与 SQL 错误匹配
iii) XSS 检测 - scanner.py - 反射型 XSS 脚本探测
iv) CVE 查询 - cve_db.py - 具有严重性评级的静态 CVE 数据库
v) WAF 检测 - scanner.py - 基于响应头的 WAF 识别
vi) 端口扫描器 - scanner.py - 对常用端口进行 TCP 连接扫描
vii) DNS 和 WHOIS - scanner.py - 域名解析与注册信息查询
viii) 仪表板 - app.py - 获取 SQLite 历史记录并渲染模板
# 📸 截图
## 屏幕 - 描述
1. 图 9.1 - 主扫描器界面
2. 图 9.2 - 动画加载屏幕
3. 图 9.3 - 扫描结果:拦截的注入 + 严重 CVE
4. 图 9.4 - CVE 详情模态框(CVE-2021-26855 严重)
5. 图 9.5 - 扫描结果:SQL 漏洞 + 开放端口
6. 图 9.6 - 所有安全扫描(包含 CVE 和端口)
7. 图 9.7 - 带有统计信息的扫描历史仪表板
# 🔮 未来增强计划
[ ] 盲注 SQL 注入(基于时间和基于布尔值)
[ ] CSRF 检测和安全头分析
[ ] 实时 NVD CVE API 集成
[ ] 经过身份验证的扫描(支持会话/cookie)
[ ] 生成 PDF 报告
[ ] 定时/周期性扫描
[ ] 多目标批量扫描
[ ] Docker 容器化
[ ] 代理轮换和速率限制支持
# ⚠️ 免责声明
VulnScan Pro 严格仅用于教育目的、授权的渗透测试和安全研究。未经明确许可扫描任何系统都是非法和不道德的。作者对任何滥用此工具的行为不承担责任。
# 📚 参考资料
1. OWASP Top Ten
https://owasp.org/www-project-top-ten/
2. NIST 国家漏洞数据库 https://nvd.nist.gov/
3. MITRE CVE
https://cve.mitre.org/
4. Flask 文档
https://flask.palletsprojects.com/
5. crt.sh 证书搜索
https://crt.sh/
6. PortSwigger XSS 指南
https://portswigger.net/web-security/cross-site-scripting
# 📄 许可证
本项目是作为 Mahendra Engineering College (Autonomous) 的学术微型项目开发的。如需重复使用或扩展,请注明原作者。
标签:CISA项目, Flask, Python, SQL注入检测, XSS检测, 加密, 多模态安全, 开源, 数据可视化, 数据统计, 无后门, 漏洞扫描器, 端口扫描