shaikhshahid93/Web-Vulnerability-Scanner

GitHub: shaikhshahid93/Web-Vulnerability-Scanner

CyberSentinel 是一款基于 Python/Flask 和 Celery 构建的企业级异步 Web 漏洞扫描器,旨在通过主动检测和被动分析发现常见 Web 漏洞及敏感数据泄露。

Stars: 0 | Forks: 0

# 🛡️ CyberSentinel:高级 Web 漏洞扫描器 CyberSentinel 是一款定制构建的异步 Web 应用程序安全扫描器,旨在检测常见的 Web 漏洞、配置错误和敏感数据泄露。 它基于 **Python/Flask** 后端构建,利用 **Celery 和 Redis** 进行异步后台扫描,确保高性能并通过 WebSockets 进行实时报告,而不会阻塞主应用程序线程。 ## ✨ 核心功能 ### 🔍 主动漏洞检测 * **基于时间的盲注:** 使用统计基线(计算响应时间的平均标准差)来高保真地检测基于时间的 SQLi,大幅减少误报。 * **跨站脚本攻击 (XSS):** 注入特定的金丝雀 Payload 并解析 DOM,以验证字符是否被安全转义或被主动反射。 * **服务端模板注入 (SSTI):** 跨多种模板引擎主动评估数学 Payload(例如 `{{7*7}}`),以验证远程代码执行 (RCE) 风险。 * **命令注入与本地文件包含 (LFI):** 检查未经清理的操作系统执行和路径遍历缺陷(`/etc/passwd`、`win.ini`)。 * **服务端请求伪造 (SSRF):** 测试盲 SSRF 并尝试访问内部云元数据端点(例如 `169.254.169.254`)。 ### 🕵️ 侦察与被动分析 * **JavaScript SAST-Lite:** 下载并静态分析客户端 JS 文件,查找硬编码的机密信息(AWS 密钥、Google API 密钥)和危险的 DOM 接收点(`dangerouslySetInnerHTML`、`eval`)。 * **基于模糊哈希的 IDOR 检测:** 修改请求中的数字 ID,并使用模糊哈希比较响应的视觉相似性,以检测破坏的访问控制。 * **API 与端点发现:** 探测暴露的 Swagger/OpenAPI 文档和隐藏目录(`/admin`、`.git`、`.env`、`.bak`)。 * **端口扫描与 Banner 抓取:** 包含一个异步网络扫描器,用于检测开放端口并识别运行的服务(例如,检查匿名 FTP 登录)。 ### 🛠️ 企业级架构 * **域名所有权验证:** 要求用户在扫描前在其目标网站上放置特定的 meta 标签,防止未经授权的攻击。 * **WAF 规避与友好扫描:** 实现随机 User-Agents 并遵守 `robots.txt` 指令。 * **报告:** 生成可下载的 **PDF** 执行摘要和 **SARIF**(静态分析结果交换格式)JSON 文件,用于 CI/CD 流水线集成。 ## 💻 技术栈 * **后端与 API:** Python 3, Flask, SQLAlchemy * **异步任务队列:** Celery, Redis * **网络/扫描引擎:** `httpx` (异步 HTTP 请求), `asyncio`, `BeautifulSoup4` * **实时通信:** Flask-SocketIO * **安全与加密:** Argon2 (密码哈希), Flask-Talisman (CSP), NH3 (清理) ## 🚀 安装与设置 ### 前置条件 在开始之前,请确保您已安装以下内容: * **Python 3.8+** * **Redis Server**(Celery 任务队列和会话管理所需) ### 1. 克隆仓库 ``` git clone [https://github.com/shaikhshahid93/Web-Vulnerability-Scanner.git](https://github.com/shaikhshahid93/Web-Vulnerability-Scanner.git) cd Web-Vulnerability-Scanner 2. Set Up a Virtual Environment Bash python -m venv venv # 在 Windows 上: venv\Scripts\activate # 在 Linux/Mac 上: source venv/bin/activate 3. Install Dependencies Bash pip install -r requirements.txt 4. Start the Redis Server Ensure your Redis server is running locally on port 6379. (On Linux/Mac, usually redis-server. On Windows, you can use WSL or a Redis Windows port). 5. Start the Celery Worker Open a new terminal window, activate your virtual environment, and start the Celery worker to handle the background scanning tasks: Bash celery -A tasks.app worker --loglevel=info 6. Run the Flask Application Open another terminal, activate the virtual environment, and run the app: Bash python app.py The application will create the local SQLite database automatically. Access the web interface at: http://127.0.0.1:5050 ⚠️ Disclaimer For Educational and Authorized Use Only. CyberSentinel was developed for academic purposes and security research. The creator assumes no liability and is not responsible for any misuse or damage caused by this program. Do not scan targets without explicit, written permission from the system owner. ```
标签:AMSI绕过, Beacon Object File, Celery, CISA项目, CyberSentinel, DOE合作, Flask, IDOR检测, LFI, PE 加载器, Python安全工具, RCE检测, Redis, SQL注入检测, SSRF, SSTI, StruQ, WebSocket, Web安全, XSS检测, 云元数据攻击, 云安全监控, 依赖分析, 加密, 后端开发, 命令注入, 威胁检测, 密码管理, 异步扫描, 搜索引擎查询, 数据统计, 漏洞扫描器, 硬编码密钥检测, 端口扫描, 结构化查询, 网站卫士, 网络安全, 自动化安全, 蓝队分析, 计算机取证, 足迹分析, 运行时操纵, 逆向工具, 隐私保护, 静态分析