keerthikapr/Vulnerability_scanner_web

GitHub: keerthikapr/Vulnerability_scanner_web

一个基于 Flask 的 Web 漏洞扫描器,通过 SSE 实时流式传输并发扫描结果,解决基础安全检查的可视化与即时反馈问题。

Stars: 0 | Forks: 0

# VulnScan Web 应用程序 ### 网络安全迷你项目 — Web 界面 ## 项目结构 ``` vuln_web/ │ ├── app.py ← Flask app + all scanner logic + SSE streaming │ ├── templates/ │ └── index.html ← Main HTML page (dark terminal aesthetic) │ ├── static/ │ ├── css/style.css ← Full styling — dark cyberpunk theme │ └── js/app.js ← Frontend JS (SSE handler, UI updates) │ └── README.md ``` ## 功能特性 | 功能 | 详情 | |---|---| | 实时流式传输 | 扫描运行时通过服务器发送事件(SSE)实时流式传输结果 | | 端口扫描器 | 18 个常见 TCP 端口,并发线程,高风险标记 | | 头部分析 | 检测过时软件,检查 7 个安全头部 | | 路径发现 | 并发探测 20 个敏感端点 | | SSL/TLS 检查 | 证书过期倒计时,自签名检测 | | 实时终端日志 | 带时间戳的彩色编码输出,类似真实终端 | | 严重性过滤 | 按严重程度(关键/高/中/低)过滤发现项 | | 可展开的发现项 | 点击任意发现项以展开完整详情 + 修复建议 | | 端口可视化 | 彩色编码端口芯片(红色 = 高风险,绿色 = 正常) | | SSL 详情面板 | 显示通用名称(CN)、颁发者、过期时间及剩余天数的颜色编码 | ## 安装与运行 ``` # 安装 Flask(唯一依赖) pip install flask # 启动服务器 cd vuln_web python app.py # 打开浏览器 open http://localhost:5000 ``` ## SSE 流式传输如何工作 1. 用户输入目标 → 浏览器调用 `GET /scan?target=...` 2. Flask 启动一个后台线程运行所有扫描模块 3. 每个模块将事件推入 `queue.Queue` 4. Flask 路由从队列读取并生成 SSE 帧 5. 浏览器的 `EventSource` 实时接收事件 6. JavaScript 解析每个事件并立即更新 UI 这提供了无需 WebSockets 的“实时观察扫描进行”的体验。 ## 扩展建议 - **WebSocket 模式** — 使用 `flask-socketio` 替换 SSE 以实现双向通信 - **下载报告** — 添加 `/report/` 路由以提供 `.txt` / `.pdf` 格式报告 - **扫描历史记录** — 使用 `flask-sqlalchemy` 将结果存储在 SQLite 中 - **认证** — 在部署前添加 `flask-login` 登录功能 - **Docker** — 使用简单的 `Dockerfile` 和 `gunicorn` 容器化
标签:Flask, HTTP头, mini项目, Python, SEO: Python安全项目, SEO: 漏洞扫描器, SEO: 网络安全工具, Server-Sent Events, SSE, SSL/TLS检查, Web安全, 前端实时更新, 多模态安全, 安全头检测, 安全扫描, 安全报告, 并发, 敏感端点, 数据可视化, 数据统计, 无后门, 时序注入, 暗色主题, 暗黑风格, 毕业设计, 漏洞分析, 端口扫描, 线程, 终端仿真, 网络安全, 网络安全项目, 自签名证书, 蓝队分析, 证书过期, 路径探测, 逆向工具, 隐私保护, 高危端口