karthikbijuknply-sys/web-vulnerability-scanner

GitHub: karthikbijuknply-sys/web-vulnerability-scanner

一款基于 Python 的模块化 Web 漏洞扫描器,能自动爬取目标应用并检测 SQL 注入和访问控制失效漏洞,同时提供 Streamlit 可视化面板展示扫描结果。

Stars: 0 | Forks: 0

# 🕷️ Web 漏洞扫描器 ### *一款基于 Python 的模块化 Web 漏洞扫描器,可自动化执行爬取、漏洞检测和安全报告生成。* ![Python](https://img.shields.io/badge/Python-3.x-3776AB?style=flat-square&logo=python&logoColor=white) ![Status](https://img.shields.io/badge/Status-Completed-yellow?style=flat-square) ![DVWA](https://img.shields.io/badge/Tested%20on-DVWA-red?style=flat-square)
## 📖 概述 这是一款基于 Python 的命令行安全工具,能够爬取目标 Web 应用,搜寻 **SQL 注入**和**访问控制失效**漏洞,并以专业的方式生成报告,而不是直接向你抛出原始的 JSON 数据。 它会对目标进行映射,对所有发现的内容运行漏洞检查,将结果打包成清晰的 JSON 报告,并直接输入到 **Streamlit dashboard** 中——让扫描结果呈现出真正的分析价值。 开发此工具是为了在实践中亲手体验真实的 Web 应用安全测试,而不仅仅是纸上谈兵。 ## ⚡ 核心功能 | | 功能 | |---|---| | 🕸️ | 自动化爬取以映射页面和参数 | | 💉 | SQL 注入 (SQLi) 检测 | | 🔓 | 访问控制失效测试 | | 📄 | 结构化的 JSON 漏洞报告 | | 📊 | 用于可视化结果的 Streamlit dashboard | | 🧩 | 模块化架构 — 每种漏洞类型对应一个模块 | | 🎯 | 在隔离的 Docker 沙箱中针对 DVWA 进行了验证 | ## 🧰 技术栈
| 技术 | 作用 | |:---:|---| | ![Python](https://img.shields.io/badge/-Python-3776AB?style=flat-square&logo=python&logoColor=white) | 核心应用逻辑 | | ![Requests](https://img.shields.io/badge/-Requests-000000?style=flat-square&logo=python&logoColor=white) | 向目标发送 HTTP 请求 | | ![Streamlit](https://img.shields.io/badge/-Streamlit-FF4B4B?style=flat-square&logo=streamlit&logoColor=white) | 结果 dashboard | | ![JSON](https://img.shields.io/badge/-JSON-000000?style=flat-square&logo=json&logoColor=white) | 报告存储格式 | | ![Docker](https://img.shields.io/badge/-Docker-2496ED?style=flat-square&logo=docker&logoColor=white) | DVWA 测试环境 | | ![BeautifulSoup](https://img.shields.io/badge/-BeautifulSoup4-43B02A?style=flat-square&logo=python&logoColor=white) | 用于爬虫的 HTML 解析 | | ![Pandas](https://img.shields.io/badge/-Pandas-150458?style=flat-square&logo=pandas&logoColor=white) | 数据处理 / 报告生成 |
## 🔄 工作原理 ``` 🌐 Target URL │ ▼ 🕷️ Web Crawler (crawler.py) │ ▼ 📌 Discovered Pages & Parameters │ ┌────────────┴────────────┐ ▼ ▼ 💉 SQLi Testing 🔓 Access Control Testing (sqli_tester.py) (access_control.py) │ │ └────────────┬────────────┘ ▼ 📦 Findings Aggregated │ ▼ 📄 report.json Written │ ▼ 📊 Streamlit Dashboard (dashboard.py) ``` ## 📁 项目结构 ``` web-vuln-scanner/ │ ├── 🎯 scanner.py # Entry point — orchestrates the whole scan ├── 🕷️ crawler.py # Maps the target before anything pokes it ├── 💉 sqli_tester.py # SQL injection detection module ├── 🔓 access_control.py # Broken access control testing module ├── 📊 dashboard.py # Streamlit dashboard reading report.json ├── 📄 report.json # Scan output — the receipts ├── 📦 requirements.txt ├── 📘 README.md ├── 🧾 COMMANDS.md └── 🗂️ venv/ ``` ## 📸 Dashboard 截图
### 🏠 Dashboard 主页 ### 📋 漏洞列表表格 ### 🔍 漏洞详情
--- ## 🧠 展现的技能
`Python` `Web 应用安全` `SQL 注入` `访问控制测试` `Web 爬取` `HTTP` `JSON` `安全自动化` `Streamlit` `Git/GitHub`
## 📚 学习成果 构建这个项目的过程教会了我(有时是通过深刻的教训): - ✅ 自动化 Web 爬虫在底层实际是如何工作的 - ✅ SQL 注入检测逻辑与 payload 构建 - ✅ 在 OWASP 幻灯片之外,“访问控制失效”在实际中是什么样子 - ✅ 如何将杂乱的扫描输出整理为干净、可用的 JSON - ✅ 构建一个人们真正愿意查看的 dashboard - ✅ 在隔离的 Docker 环境中针对 DVWA 进行安全测试 ## 🛣️ 路线图 - [ ] 🎯 XSS (跨站脚本攻击) 检测模块 - [ ] 🛡️ 安全标头分析 (CSP, HSTS, X-Frame-Options) - [ ] 🔑 认证/会话漏洞测试 - [ ] ⚠️ 漏洞严重程度评分 - [ ] 📑 导出 HTML/PDF 报告 - [ ] ⚡ 用于提升速度的多线程扫描 - [ ] 🤖 集成 CI/CD 进行自动化测试 - [ ] 🐳 一键 Docker Compose 设置(捆绑扫描器 + DVWA)
## 👤 作者 **Karthik B** *有志成为网络安全与云安全专业人士* [![GitHub](https://img.shields.io/badge/GitHub-karthikbiju--sys-181717?style=flat-square&logo=github)](https://github.com/karthikbijuknply-sys)
标签:CISA项目, Homebrew安装, Kubernetes, Python, Streamlit, Web安全, 字符串匹配, 无后门, 蓝队分析, 访问控制, 请求拦截, 逆向工具