Muniprakash-sudileti/web-security-monitoring-system
GitHub: Muniprakash-sudileti/web-security-monitoring-system
基于 Python Django 构建的轻量级 Web 漏洞扫描器,可对目标 URL 自动执行 OWASP Top 10 类别的安全检测并在仪表板展示风险结果。
Stars: 0 | Forks: 0
# Web 安全监控系统
一个使用 **Python** 和 **Django** 构建的轻量级、自动化 Web 应用漏洞扫描器。你只需输入目标 URL,该工具便会运行一系列映射到常见 OWASP Top 10 类别的自动化检查(SQL 注入、XSS、失效的访问控制、安全配置错误、SSRF 等),随后在一个简单的 Web 仪表板中显示带有风险级别的扫描结果。
## 功能说明
用户通过仪表板提交 URL。Django 后端 (`scanner/logic.py`) 会开启一个会话,向目标发送构造好的请求,检查响应(状态码、标头和正文),并标记潜在的问题。每个发现都会映射到一个 OWASP 风格的类别和风险评级(严重 / 高 / 中 / 低),然后渲染回浏览器中。
### 已实现的检查项
- **注入 (SQLi)** — 测试 `id` 参数是否存在 SQL 错误特征
- **反射型 XSS** — 检查脚本 payload 是否在响应中被反射
- **失效的访问控制** — 探测暴露的 `/admin` 端点
- **安全配置错误** — 检查是否缺少 `Content-Security-Policy` 标头
- **加密/敏感文件泄露** — 检查是否可以访问 `/.env`
- **不安全设计(目录遍历)** — 测试 `../../etc/passwd` payload
- **SSRF** — 测试云元数据泄露情况
- **认证弱点** — 查找登录名/密码相关特征
- **软件/数据完整性** — 查找不安全的反序列化模式
- **日志/监控失效** — 检查错误时是否输出详细的 traceback
## 技术栈
- **语言:** Python 3.8+
- **框架:** Django (MVT 架构)
- **HTTP / 解析:** `requests`, `re`
- **数据库:** SQLite3 (Django 默认)
- **前端:** HTML, Tailwind CSS (CDN), 原生 JavaScript
## 项目结构
```
web-security-monitoring-system/
├── manage.py
├── requirements.txt
├── Final_Year_OWASP/ # Django project (settings, urls, wsgi, asgi)
└── scanner/ # The scanner app
├── views.py # index + run_scan endpoint
├── logic.py # OWASPTester — the scanning engine
├── urls.py
└── templates/scanner/index.html # dashboard UI
```
## 快速开始
```
# 1. Clone
git clone https://github.com//web-security-monitoring-system.git
cd web-security-monitoring-system
# 2. 创建并激活 virtual environment
python -m venv venv
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate
# 3. 安装 dependencies
pip install -r requirements.txt
# 4. Apply migrations 并运行
python manage.py migrate
python manage.py runserver
```
在浏览器中打开 `http://127.0.0.1:8000/`,输入目标 URL,然后点击 **SCAN**。
## 安全测试目标
请仅扫描你拥有或已获得明确测试授权的应用程序。以下是一些公开的、专门用于漏洞练习的测试目标:
- `http://testphp.vulnweb.com`
- `https://demo.testfire.net`
## 限制与规划路线
当前版本执行的是轻量级的、基于特征的检查,并按扫描会话返回结果。计划进行的改进包括:
- 将扫描结果持久化到数据库,并添加扫描历史记录视图
- 通过多步验证减少误报
- 添加 API 安全性和会话管理检查
- 添加可下载的 PDF/HTML 报告
- 支持批量扫描多个 URL
## 免责声明
本工具仅供**教育用途及经授权的安全测试使用**。未经授权扫描系统是违法的。作者不对任何滥用行为负责。
## 作者
毕业设计项目,计算机科学与工程系(网络安全),在 Mrs. M. Keerthi(助理教授)的指导下完成。
- Raju Venkata Jaya Krishna Reddy — 22BFA37100
- Mangapuram Sai Rahul — 22BFA37081
- Shaik Abdul Hameed — 22BFA37107
- Sudileti Muni Prakash — 23BFA37L11
## 许可证
基于 MIT 许可证发布 — 详见 [LICENSE](LICENSE)。
标签:CISA项目, Django, Docker部署, Python, Web安全, 加密, 数据可视化, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具