murrez/CVE-2026-41940

GitHub: murrez/CVE-2026-41940

针对 WHM/cPanel 身份验证绕过漏洞 CVE-2026-41940 的 Python 概念验证脚本,通过 CRLF 注入实现完整的认证绕过攻击链并修改 root 密码。

Stars: 1 | Forks: 1

# CVE-2026-41940 — WHM/cPanel 身份验证绕过研究工具 本仓库包含一个基于 **cPanel/WHM**(通过 `whostmgrsession` cookie 和 HTTP 标头)身份验证绕过链的**概念验证 (PoC)** 脚本。该脚本在成功突破后修改 `root` 密码并将结果写入文件。 ## 法律声明 请**仅**在您拥有明确授权的系统上使用本软件(您自己的实验环境、签订合同的渗透测试、供应商批准的安全测试)。未经授权的访问在大多数国家/地区均属**违法行为**。本 README 仅供安全研究和防御意识参考;作者不对任何滥用行为负责。 ## 功能特性 - 支持目标列表(如 `targets.txt`)进行**多目标**扫描 - 默认使用 **WHM TLS 端口 2087**;自动将协议标准化为 `https` - 阶段包含:预会话 (`/login`),通过 CRLF 注入泄露 `/cpsess`,触发 `do_token_denied`,通过 `/json-api/version` 验证 - 成功并确认修改密码的目标将被追加至 **`res.txt`** 文件中 - 可选的 `Host` 请求头覆盖(用于反向代理 / 虚拟主机场景) - **多线程**支持(`ThreadPoolExecutor`) ## 环境要求 - **Python 2.7** (`#!/usr/bin/env python2.7` — 脚本使用 Python 2 语法以及 `urllib` / `urlparse`) - 依赖项:`requirements.txt` ``` pip install -r requirements.txt ``` **注意:** Python 2 环境下的 `concurrent.futures` 需要 `futures` 包(已在文件中列出)。若要将脚本移植到 Python 3,需要适配 `urllib`、`urlparse`、`print`、`unicode`/`str` 等差异;本仓库未进行此操作。 ## 用法 ``` python CVE-2026-41940.py [--hostname CANONICAL_HOST] [--threads N] [--timeout SANIYE] ``` | 参数 | 描述 | |--------|-----------| | `list_file` | 每行一个目标(主机或 URL;若无 `http://` 则自动添加 `https://`) | | `--hostname` | 强制指定用于所有请求中的 `Host:` 标头及其相关逻辑的规范名称 | | `--threads` | 并发线程数(默认:15) | | `--timeout` | 连接超时秒数(默认:15) | 输出: - 在控制台逐阶段输出日志 - 仅将成功修改密码的目标以包含 URL 和会话信息的格式写入 **`res.txt`** 文件 ## 防御与加固建议(摘要) - 保持 WHM/cPanel 及其相关组件为**最新版本**;持续关注安全公告。 - 针对 **2087**(以及其他不必要的管理端口)使用源 IP 限制或通过 VPN 进行访问。 - 针对异常的 `Authorization` / cookie 组合以及意外的重定向,评估并配置 **WAF** 及日志关联规则。 ## 文件结构 ``` ├── CVE-2026-41940.py # Ana betik ├── requirements.txt # pip bağımlılıkları └── README.md ``` ## 道德使用 在突破后**修改生产系统的密码**会带来数据丢失和服务中断的风险。请在非生产的隔离实验环境中进行测试并获取书面许可;通过负责任的披露(协调漏洞披露)流程分享您所发现的漏洞。
标签:CISA项目, cPanel, CRLF注入, CVE-2026-41940, HTTPS, HTTP请求伪造, Maven, PoC, Python 2.7, ThreadPoolExecutor, urllib, Web安全, WHM, 云资产清单, 修改root密码, 协议分析, 多线程扫描, 并发执行, 暴力破解, 权限提升, 模糊测试, 漏洞验证, 网络安全, 蓝队分析, 虚拟主机安全, 认证绕过, 身份验证绕过, 逆向工程, 隐私保护