仅限授权使用。 请仅针对您拥有或明确获准测试的系统运行本项目。尽可能使用受控的实验室环境。

JCEzploit 是一款命令行安全研究工具,用于在测试人员获得明确授权的环境中评估 Joomla 内容编辑器(JCE)组件的配置文件导入功能。它专为专业渗透测试人员、安全研究人员和防御者设计,帮助其在受控环境中复现并验证已报告的远程代码执行漏洞。
该项目提供了结构化的命令行工作流程、可配置的代理支持、多种执行模式、诊断输出以及交互式会话界面。它只能用于操作者拥有或已获得书面测试授权覆盖的目标。
发布说明: 在发布或分发本 README 之前,请对照权威厂商或漏洞数据库记录,核实项目的 CVE 标识符、受影响版本范围、修复版本、披露状态和测试矩阵。以下元数据反映了所提供的项目信息,不应视为独立的漏洞确认。
当针对未经批准的目标使用时,本软件可能导致未授权访问、数据泄露、服务中断或系统沦陷。维护者不授权对第三方系统、公共基础设施或未获书面许可的系统进行测试。
使用本项目即表示您同意:
仅测试您拥有明确书面授权的系统。
定义并遵守经批准的范围、时间窗口、速率限制和交战规则。
避免访问、修改、窃取或保留不必要的数据。
如果测试活动可能导致服务中断或影响无关用户,请立即停止测试。
遵守所有适用的法律、法规、合同和组织政策。
对因使用本软件而产生的一切后果承担责任。
作者和贡献者按“原样”提供本项目,不对因使用本软件而导致的滥用、损害、数据丢失、法律索赔或其他后果负责。
以下详细信息随项目一并提供,在用于安全公告或生产环境评估之前,需要独立核实。
| 字段 | 项目提供的详细信息 |
|---|---|
| 漏洞标识符 | CVE-2026-48907 |
| 报告的问题 | 未经验证的远程代码执行 |
| 报告的受影响版本 | JCE 1.0.0 至 2.9.99.4 |
| 报告的修复版本 | JCE 2.9.99.5 |
| 提供的测试环境 | Joomla 3.10.11、JCE 2.9.15、Apache 2.4、PHP 7.4 |
| 报告的危险等级 | 严重;可能导致整个系统完全沦陷 |
对于防御性工作,请首先确认已部署的 Joomla 和 JCE 版本,获得授权,制定回滚计划,并尽可能优先采用非破坏性的验证方法。
根据项目资料,JCEzploit 包含以下功能:
| 领域 | 功能 |
|---|---|
| 工作流程 | 自动化请求准备与漏洞验证工作流程 |
| 会话界面 | 支持历史记录、补全和彩色输出的交互式命令会话 |
| 执行模式 | 交互、单命令、批处理、静默、详细和面向调试的模式 |
| 检测 | CSRF 令牌发现,支持多种回退模式 |
| 网络控制 | 支持 HTTP/HTTPS 代理,便于受控的请求检查 |
| 可靠性 | 连接池、超时和错误处理 |
| 文件操作 | 适用于授权评估场景的文件读取功能 |
| 平台支持 | 支持 Linux、macOS 和 Windows 环境,Python 3.6+ |
交互式界面支持如下所示的命令。请仅在经批准的测试环境中使用非破坏性命令。
$> whoami # Display the execution identity
$> id # Display user and group information
$> pwd # Display the current working directory
$> exit # Close the session
| 要求 | 最低或支持的值 |
|---|---|
| Python | 3.6 或更高版本 |
| 包管理器 | pip |
| 操作系统 | Linux、macOS 或 Windows |
| 网络访问 | 仅用于安装依赖和访问经授权的测试目标 |
确切的依赖项集合在 requirements.txt 中定义。请使用虚拟环境将项目依赖与宿主系统隔离。
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
cd JCEzploit-CVE-2026-48907
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
chmod +x jcezploit.py
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
Set-Location JCEzploit-CVE-2026-48907
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
如果 PowerShell 执行策略阻止激活,请咨询您所在组织的端点管理策略,而不是全局削弱安全控制。也可以直接通过虚拟环境的解释器调用该脚本。
pip install pipenv
pipenv install requests rich
pipenv shell
python jcezploit.py --help
如果仓库包含维护中的 Dockerfile,请在隔离且经授权的实验环境中构建并运行它:
docker build -t jcezploit .
docker run --rm -it jcezploit --help
请勿将敏感的主机目录、生产环境凭据或不受限制的主机网络挂载到容器中。
始终从审查目标范围并显示内置帮助开始:
python jcezploit.py --help
提供的命令行界面总结如下。
usage: jcezploit.py [-h] -u URL [--proxy PROXY] [-v] [-q]
[--cmd CMD] [--interactive] [--batch FILE]
[--no-confirm]
JCEzploit - Joomla JCE security testing utility
options:
-h, --help Show this help message and exit
-u, --url URL Authorized target base URL (required )
--proxy PROXY HTTP proxy, for example http://127.0.0.1:8080
-v, --verbose Enable diagnostic output
-q, --quiet Suppress non-essential output
--cmd CMD Execute one approved test command and exit
--interactive Start an interactive test session
--batch FILE Read approved test commands from a file
--no-confirm Skip the confirmation prompt; use only in automation
以下示例演示了调用方式。请将目标替换为明确授权的实验室或评估端点。
# Start an interactive assessment session.
python jcezploit.py --url http://authorized-lab.example --interactive
# Execute a low-impact identity check.
python jcezploit.py --url http://authorized-lab.example --cmd "id"
# Route requests through a local inspection proxy.
python jcezploit.py \
--url http://authorized-lab.example \
--proxy http://127.0.0.1:8080 \
--interactive \
--verbose
创建一个仅包含预先批准的非破坏性验证步骤的命令文件:
# commands.txt
whoami
id
pwd
针对经批准的目标运行批处理文件:
python jcezploit.py --url http://authorized-lab.example --batch commands.txt
在受控环境中排查请求流程或为评估报告收集证据时,请使用 --verbose。在将输出集成到经批准的自动化流水线时,请使用 --quiet。避免在共享日志中存储机密信息、会话令牌、响应正文或个人数据。
项目接受命令行配置。只要实现明确支持,以下环境变量约定可供包装脚本或本地运行手册使用:
TARGET_URL=http://authorized-lab.example
PROXY=http://127.0.0.1:8080
VERBOSE=true
QUIET=false
请勿将 .env 文件、凭据、令牌、目标清单、捕获的响应或评估结果提交到版本控制。将本地配置文件添加到 .gitignore,并在适当的情况下使用密钥管理器。
JCEzploit/
├── jcezploit.py # Main command-line program
├── requirements.txt # Runtime dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── .gitignore # Ignored local and generated files
├── setup.sh # Optional setup helper
├── sample_commands.txt # Example command file
├── Dockerfile # Container build definition
├── verify.py # Dependency verification helper
└── docs/
├── vulnerability_details.md
├── pentest_guide.md
└── changelog.md
上述目录树反映了所提供的项目布局。每当添加、删除或重命名文件时,请更新它。
仅当仓库提供维护中的 requirements-dev.txt 文件时,才安装开发依赖:
pip install -r requirements-dev.txt
python -m pytest tests/
在提交拉取请求之前,请确认更改已记录在案、测试通过、错误处理保持清晰,并且提交中不包含目标数据或机密信息。为解析、输入验证、代理处理、超时行为和安全的失败路径添加回归测试。
专业评估应尽可能使用专用的测试环境。在验证之前进行备份或快照,定义紧急停止流程,监控应用程序和主机运行状况,并在整个测试窗口期内与系统所有者协调配合。
该工具不应被用于建立持久化、部署额外恶意软件、规避监控、访问无关账户、导出敏感文件或进行横向移动。证据收集应限于证明发现所需的范围,并应遵循客户的数据处理要求。
如果测试发现此前未知的问题,请不要立即发布漏洞利用细节。私下通知受影响的厂商或项目,提供可复现的防御性证据,给予合理的修复时间,并协调任何公开披露。请参阅 Joomla 安全中心 了解该项目已发布的安全报告指南。
欢迎支持负责任防御性研究的安全专业人士和开发人员贡献代码。在进行重大更改之前,请先提交 issue,以便讨论范围和安全性预期。
典型的贡献工作流程如下:
git checkout -b feature/documentation-improvement
# Make and test your changes
git add .
git commit -m "Improve documentation"
git push origin feature/documentation-improvement
拉取请求应说明要解决的问题、描述更改内容、指明测试覆盖范围,并记录任何兼容性或安全性影响。Python 代码请遵循 PEP 8,使用清晰明了的错误信息,避免嵌入机密信息,并保留项目的道德使用保障措施。
项目初始发布。
新增所报告的 JCE 安全测试工作流程。
新增交互式会话支持。
为授权测试新增文件读取功能。
新增批处理命令处理。
新增代理支持。
新增丰富的命令行输出。
新增跨平台支持。
扩展防御性验证覆盖范围。
改进对受支持的 Joomla 和 JCE 版本的兼容性测试。
新增结构化评估报告输出。
加强输入验证并采用更安全的默认行为。
新增自动化单元测试和集成测试。
提供有文档记录的实验室环境,以便进行可重复的研究。