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防护, 中间人攻击检测, 云存储安全, 会话劫持检测, 会话管理, 信息安全, 加密, 后端开发, 后端开发, 字符串匹配, 安全合规, 安全头分析, 漏洞扫描器, 网络代理, 网络安全, 网络安全工具, 网络安全项目, 网络扫描, 蓝队分析, 逆向工具, 隐私保护