kartikrosn/Web-session-security-scanner
GitHub: kartikrosn/Web-session-security-scanner
基于 OWASP 规范的 Web 会话安全扫描器,检测 Cookie 属性、会话令牌强度和安全头配置缺陷。
Stars: 0 | Forks: 0
# SessionGuard — Web 应用程序会话劫持检测系统
一个用于检测 Web 应用程序中会话劫持漏洞的网络安全项目。
## 概述
SessionGuard 用于分析 Web 应用程序中的会话管理安全缺陷。
我是
[Lovely Proffesional University] 计算机科学与工程 (B.Tech CSE) 三年级的学生,学校位于比哈尔邦加雅。我在学习
“网络安全”课程中的会话管理内容后,
出于对网络安全的兴趣构建了这个项目。
我想超越理论,真正
构建一些能测试真实网站的东西 —
这就是那份好奇心的成果。
## 我学到了什么
在这个项目之前,我不知道会话管理
在真实的 Web 应用程序中是如何工作的。
构建这个项目教会了我:
- 浏览器和服务器如何交换 cookies
- 为什么 HttpOnly 标志在 XSS 攻击中很重要
- 如何正确使用 Python requests 库
- Flask 路由和 API 是如何工作的
- 安全不仅仅是理论 — 它是可以被测试的!
老实说,OWASP 文档起初让我很困惑
但在读了 3-4 遍之后,它开始变得有意义了。
### 检测内容
| 检查项 | OWASP 参考 | 严重程度 |
|---|---|---|
| 缺少 HttpOnly cookie 标志 | WSTG-SESS-02 | HIGH |
| 缺少 Secure cookie 标志 | WSTG-SESS-02 | HIGH |
| 缺少 SameSite 属性 | WSTG-SESS-02 | MEDIUM |
| 弱/可预测的会话 ID | WSTG-SESS-01 | HIGH |
| 会话固定漏洞 | WSTG-SESS-03 | HIGH |
| HTTP 上的会话(未加密) | WSTG-SESS-02 | HIGH |
| 缺少 HSTS 头 | A02:2021 | MEDIUM |
| 缺少 Content-Security-Policy | A03:2021 | MEDIUM |
| 无会话超时 | WSTG-SESS-07 | MEDIUM |
| 缓存控制薄弱 | WSTG-SESS-08 | LOW |
| 缺少 X-Frame-Options | A05:2021 | LOW |
## 项目结构
session-hijack-detector/
├── app.py # Flask web 应用程序 (路由 + API)
├── scanner.py # 核心扫描引擎 (HTTP 请求)
├── cookie_analyzer.py # Cookie 安全标志分析
├── session_analyzer.py # 会话安全与头部分析
├── requirements.txt # Python 依赖
├── README.md # 本文件
└── templates/
├── index.html # 首页 + URL 扫描器
├── dashboard.html # 带图表的安全仪表板
└── report.html # 详细漏洞报告
## 安装与设置
### 前置条件
- Python 3.8 或更高版本
- pip (Python 包管理器)
- 互联网访问(用于扫描外部目标)
### 分步安装
**1. 克隆或下载项目**
```
git clone
cd session-hijack-detector
```
**2. 创建虚拟环境(推荐)**
```
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
```
**3. 安装依赖**
```
pip install -r requirements.txt
```
**4. 运行应用程序**
```
python app.py
```
**5. 在浏览器中打开**
```
http://localhost:5000
```
## 使用方法
### Web 界面
1. 访问 `http://localhost:5000`
2. 输入目标 URL(例如 `https://example.com`)
3. 点击 **SCAN** 或按 Enter 键
4. 查看实时扫描进度
5. 在仪表板和报告页面中浏览结果
### 演示模式
点击扫描器页面上的 **⚡ DEMO MODE**,查看针对易受攻击应用程序的模拟扫描(无真实网络请求 — 适合离线演示)。
### 快速测试 URL
- `http://testphp.vulnweb.com` — 故意设置漏洞的 PHP 应用
- `http://demo.testfire.net` — IBM 演示银行应用
- `https://httpbin.org` — HTTP 测试服务(低风险)
- `https://example.com` — 极少 cookies(低风险)
### API 使用
```
# Scan a target
curl -X POST http://localhost:5000/api/scan \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
# Run demo scan
curl -X POST http://localhost:5000/api/scan \
-H "Content-Type: application/json" \
-d '{"url": "https://demo.example.com", "demo": true}'
```
## 技术架构
```
Browser
│
├─ GET / → index.html (URL input + scan trigger)
├─ GET /dashboard → dashboard.html (charts + cookie table)
├─ GET /report → report.html (full vulnerability report)
│
└─ POST /api/scan/stream ← SSE streaming scan results
│
└── scanner.py::run_scan()
├── cookie_analyzer.py::analyze_all_cookies()
└── session_analyzer.py::analyze_session()
```
### 扫描管道
1. **URL 验证** — 规范化并验证 URL 格式
2. **SSL 检查** — 验证 TLS 证书有效性
3. **HTTP 请求** — 使用逼真的浏览器头部获取目标
4. **Cookie 提取** — 解析 Set-Cookie 头部
5. **Cookie 分析** — 检查 HttpOnly、Secure、SameSite、熵
6. **会话分析** — 检查头部、固定、超时、传输
7. **报告生成** — 汇总发现并附上 OWASP 参考
## 安全说明
### 局限性
- 此工具执行**被动分析**(无主动利用)
- Cookie 属性检测取决于服务器在头部中发送的内容
- 会话固定检测是启发式的(无实际登录流程)
- 部分服务器会阻止自动化请求
## OWASP 参考
- [OWASP 测试指南 v4.2 — 会话管理测试](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/06-Session_Management_Testing/)
- [OWASP Top 10 A07:2021](https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/)
- [OWASP 会话管理备忘单](https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html)
- [OWASP Cookie 安全指南](https://owasp.org/www-community/controls/SecureCookieAttribute)
## 技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Python 3.8+, Flask 3.0 |
| HTTP 客户端 | Requests 2.31 |
| HTML 解析器 | BeautifulSoup 4 |
| 命令行输出 | Tabulate 0.9 |
| 前端 | HTML5, CSS3, TailwindCSS CDN |
| 图表 | Chart.js 4.4 |
| 字体 | Google Fonts (Rajdhani, Share Tech Mono, Exo 2) |
标签:Cookie安全, DNS枚举, Flask应用, HTTP安全, meg, Python安全工具, Session Fixation, Splunk, Web安全, XSS防护, 中间人攻击检测, 云存储安全, 会话劫持检测, 会话管理, 信息安全, 加密, 后端开发, 后端开发, 字符串匹配, 安全合规, 安全头分析, 漏洞扫描器, 网络代理, 网络安全, 网络安全工具, 网络安全项目, 网络扫描, 蓝队分析, 逆向工具, 隐私保护