Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-48907 — Python CLI,利用 Joomla JCE 中 CVE-2026-48907 漏洞,通过配置文件导入上传进行利用,验证 shell 路径,并在授权目标上打开交互式命令通道。 | Kitploit
工具/GitHubGitHub/noname-elv/cve-2026-48907
漏洞分析漏洞利用脚本与自动化Web应用程序漏洞利用后渗透利用Web安全渗透测试远程访问工具Payload 开发
GitHubnoname-elv/cve-2026-48907

CVE-2026-48907

Python CLI,利用 Joomla JCE 中 CVE-2026-48907 漏洞,通过配置文件导入上传进行利用,验证 shell 路径,并在授权目标上打开交互式命令通道。

12320天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

E.L.V CVE 研究与评估框架

E.L.V — Exploit Loader & Vulnerability Firmware
用于授权漏洞评估的网络安全研究工具。

Python Platform License


目录

  • 概述
  • 重要安全须知
  • 项目信息
  • 当前脚本的功能
  • 工作流程
  • 环境要求
  • 安装
  • 命令行接口
  • 输入文件
  • 输出
  • 并发
  • 网络行为
  • SSL/TLS 行为
  • 日志与结果
  • 错误处理
  • 源代码结构
  • 安全注意事项
  • 负责任的测试方法
  • 故障排除
  • 开发说明
  • 已知限制
  • 未来改进
  • 许可证
  • 免责声明

概述

E.L.V CVE 研究与评估框架 是一个基于 Python 的命令行工具,用于受控的安全研究和授权漏洞评估。

所提供的实现包含以下功能:

  • 接受单个目标或目标列表文件;
  • 加载本地提供的 payload 文件;
  • 执行基于 HTTP 的预检查;
  • 从目标响应中提取与 CSRF 相关的令牌;
  • 提交配置文件导入请求;
  • 检查一组候选路径以定位上传的文件;
  • 在使用单个目标时,可选地打开交互式 HTTP 命令通道;
  • 并发处理多个目标;
  • 将成功的 shell URL 写入结果文件。

当前源代码将其研究目标标识为:

CVE-2026-48907 Joomla! JCE Extension < 2.9.99.5 Unauthenticated RCE

该 CVE/产品声明是由源代码提供的元数据,本 README 未对其进行独立验证。在发布安全声明之前,请对照可信的厂商/CVE 来源验证标识符、受影响版本、安全公告、受影响组件以及修复信息。


重要安全须知

本项目与远程 Web 应用程序交互,所提供的实现包含用于上传自定义服务端 payload 并与上传的 shell 通信的功能。

仅在您拥有明确授权的系统上使用本工具。

请勿使用本项目进行以下行为:

  • 未经许可访问系统;
  • 向第三方基础设施部署 shell;
  • 获取未经授权的持久化访问;
  • 绕过身份验证或访问控制;
  • 在您不拥有或未获得书面授权测试的系统上执行命令;
  • 未经授权扫描任意互联网目标;
  • 损坏、修改、窃取或销毁数据。

如需安全的实验环境,请使用隔离的本地 VM/容器环境或故意存在漏洞的训练目标。


项目信息

字段值
项目E.L.V CVE 研究与评估框架
作者 / 引擎HxN / E.L.V
版本1.0.0
语言Python
平台*nix / 类 Unix 系统
许可证GNU GPL v3
接口命令行
HTTP 客户端requests
并发ThreadPoolExecutor
主要用途授权安全研究与评估

当前脚本的功能

所提供的 elv-cve.py 源代码包含以下主要组件。

1. 自定义 payload 加载

脚本读取通过 --shell 选项提供的本地文件。

源代码将其描述为自定义 shell/上传器文件,当无法读取指定文件时终止运行。

2. 目标发现

程序支持两种互斥的目标模式:

  • 单个目标 URL;
  • 包含多个目标 URL 的文本文件。

3. 初始 HTTP 请求

对于每个目标,脚本对目标根路径执行 GET 请求,并期望在继续之前收到 HTTP 200 响应。

4. 令牌提取

实现使用正则表达式在返回的 HTML 中搜索与 CSRF 相关的值。

当前实现了两种模式。

5. 配置文件导入请求

脚本针对以下地址构造一个 multipart 上传请求:```text /index.php?option=com_jce

该请求包含 profile-import 任务和提取出的 token。

### 6. 候选路径验证

在上传请求之后,程序会检查生成文件的多个可能位置。

当前源代码包含以下候选路径:```text
/tmp/
 /images/
 /images/stories/
 /media/

7. 交互式会话

对于单个目标,当程序报告成功上传的 shell 路径时,当前程序会调用交互式命令接口。

源端使用以下命名的 POST 参数发送命令:```text cmd c

由于此功能可能导致远程命令执行,因此应仅限于隔离的、明确授权的环境中使用。

### 8. 多目标处理

当提供目标文件时,程序使用 `ThreadPoolExecutor` 并发处理目标。

源代码中的默认线程数为:```text
10

工作流程

从高层来看,当前实现遵循以下流程:```text Start │ ├── Parse command-line arguments │ ├── Load local payload file │ ├── Load one target OR target list │ ├── Create ELV_CVE output directory │ ├── Target processing │ │ │ ├── GET target │ ├── Check HTTP response │ ├── Extract token │ ├── Submit profile-import request │ ├── Check candidate file paths │ └── Record result │ └── Write results / display summary

---

## 环境要求

提供的源代码导入了:

- Python 标准库模块:
  - `random`
  - `re`
  - `time`
  - `argparse`
  - `sys`
  - `os`
  - `json`
  - `threading`
  - `concurrent.futures`
- 第三方模块:
  - `requests`
  - `urllib3`

因此,最小依赖安装命令为:```bash
python3 -m pip install requests urllib3

对于可复现的部署,请在 requirements.txt 文件中固定依赖项。

示例:```text requests urllib3

---

## 安装

将项目克隆或复制到隔离的评估环境中。

示例:```bash
git clone <YOUR-REPOSITORY-URL>
cd <YOUR-REPOSITORY-DIRECTORY>

创建虚拟环境:```bash python3 -m venv .venv

激活它:```bash
source .venv/bin/activate

安装依赖:```bash python3 -m pip install -r requirements.txt

验证 Python:```bash
python3 --version

验证依赖项:```bash python3 -c "import requests, urllib3; print('Dependencies OK')"

> 将 `<YOUR-REPOSITORY-URL>` 和 `<YOUR-REPOSITORY-DIRECTORY>` 替换为你的仓库所使用的值。

---

## 命令行界面

源代码定义了以下命令行选项。

### 目标选择```text
-u, --url

单个目标 URL。```text -f, --file

包含目标 URL 的文件路径。

这些选项互斥,且必须指定其中之一。

### Payload 选择```text
--shell

本地自定义载荷文件的路径。

当前实现要求提供此参数。

线程数```text

-t, --threads

工作线程数。

默认值:```text
10

详细模式标志```text

-v, --verbose

启用参数解析器暴露的详细标志。

注意:当前源代码定义了此选项,但并未使用 `args.verbose` 实质性地改变输出行为。

### 输出选项```text
-o, --output

参数由解析器定义,但当前实现写入最终结果时并未使用 args.output。当前结果路径被硬编码为:```text ELV_CVE/success.txt

这是一个值得在后续版本中修复的实现细节。

---

## 输入文件

### 目标列表

目标列表模式要求每行一个 URL。

空行会被忽略。

以 `#` 开头的行会被忽略。

概念格式:```text
https://authorized-target-01.example
https://authorized-target-02.example
# laboratory target
https://authorized-target-03.example

仅应将您明确获授权评估的目标放入该文件。

Payload 文件

--shell 参数指向一个本地文件,程序将其作为文本读取。

所提供的源代码除了成功读取文件外,不会验证文件的内容。

为了安全地进行开发和测试,请使用无害的测试夹具,而不是执行命令的 payload。


输出

程序会创建:```text ELV_CVE/

对于多目标模式,它会写入:```text
ELV_CVE/success.txt

当前源将成功的 shell URL 写入此文件。

示例结果格式:```text https://authorized-lab.example/path/to/result

程序还会打印一份完成摘要,其中包含成功结果数量与已加载目标数量的对比。

---

## 并发

多目标模式使用:```python
ThreadPoolExecutor

配置的线程数默认为 10。

更高的并发可能会增加:

  • 网络负载;
  • 服务器端负载;
  • 触发速率限制;
  • 由不稳定连接导致的误报;
  • 日志解读的难度。

对于受控评估,请从较低的并发值开始,仅在环境和授权允许时才增加该值。


网络行为

所提供的实现使用 requests.Session() 进行 HTTP 通信。

主要的网络操作包括:

  1. GET 目标根路径;
  2. POST 配置文件导入请求;
  3. GET 候选文件路径;
  4. 可选地通过所报告的 shell URL POST 命令。

源代码使用了显式的请求超时:

  • 初始 GET:15 秒;
  • 上传请求:15 秒;
  • 候选路径检查:10 秒;
  • 交互式命令请求:15 秒。

这些值在当前源代码中是硬编码的。


SSL/TLS 行为

该实现设置了:```python s.verify = False

并抑制 `InsecureRequestWarning`。

这意味着证书验证已被禁用。

在带有自签名证书的一次性实验环境中,这可能有用,但**不建议用于正常的生产安全工具**。

更安全的实现应将证书验证设为可配置,并默认保持验证启用。

---

## 日志记录与结果

源代码在 `safe_print()` 周围使用线程锁,以减少工作线程之间的输出冲突。

典型的状态类别包括:```text
failed
success

结果对象还可以包含如下字段:```text url status reason shell_url

多目标收集器还会检查:```text
uploaded_hidden

然而,所提供的 exploit() 实现目前并不会返回该状态。

这表明结果模型存在一个可以在未来版本中清理改进的地方。


错误处理

当前实现处理了以下几种失败情况:

目标连接失败

失败的 HTTP 请求会被记录为失败目标,并附带异常消息。

目标响应非 200

如果初始 GET 请求未返回 HTTP 200,则停止对该目标的处理。

缺少令牌

如果无法提取预期的令牌,则该目标会被报告为漏洞检查失败。

上传请求失败

上传请求期间的异常会被捕获,脚本会继续尝试下一个扩展名/路径。

缺少载荷文件

如果本地载荷文件不存在,程序会以错误终止。

键盘中断

交互式通道会处理 KeyboardInterrupt 并退出会话。


源代码结构

所提供源代码中的主要函数如下:

safe_print(msg)

线程安全的控制台输出辅助函数。

read_custom_shell(filepath)

以 UTF-8 文本形式读取本地载荷文件,并忽略解码错误。

interactive_shell(shell_url)

在报告成功的 shell 路径后,提供交互式 HTTP 命令接口。

exploit(url, shell_content, interactive=False)

执行目标处理工作流并返回结果字典。

main()

处理以下内容:

  • 横幅显示;
  • 参数解析;
  • 载荷加载;
  • 目标加载;
  • 输出目录创建;
  • 单目标执行;
  • 多目标线程执行;
  • 结果聚合;
  • 结果文件写入。

安全注意事项

本项目具有若干安全敏感特性,使用前应予以了解。

远程命令执行

交互模式能够向远程 HTTP 端点发送命令。这使其比被动扫描器敏感得多。

请勿随意暴露或分发可操作的载荷。

已禁用证书验证

当前实现中禁用了 TLS 证书验证。

在将该项目视为成熟的安全工具之前,应纠正此问题。

载荷处理

载荷直接从本地文件加载,并作为 HTTP 请求的一部分提交。

请将载荷文件视为可执行的安全测试材料。

目标验证

当前源代码未实现强授权或允许列表机制。

更安全的内部版本应支持显式的目标允许列表。

速率限制

当前实现未提供全面的速率限制器。

因此,应谨慎控制并发请求。

结果敏感性

结果文件可能包含与成功利用尝试相关的 URL。请将这些文件作为敏感评估数据加以保护。


负责任的测试方法

专业的评估工作流应如下所示:```text Authorization ↓ Define Scope ↓ Prepare Isolated Test Environment ↓ Confirm Target Ownership / Permission ↓ Perform Minimal Verification ↓ Collect Evidence ↓ Stop Exploitation Once Proof Is Established ↓ Remediate ↓ Retest ↓ Document Findings

漏洞评估的目标应当是在**必要影响最小化**的前提下确立风险,而不是获取不受限制的访问权限。

---

## 推荐的实验环境搭建

用于开发时,请创建一个专用环境,其中包含:

- 一台隔离的 Linux 虚拟机;
- 一个本地 Web 服务器;
- 一个测试用 Joomla 安装实例;
- 相关的 JCE 组件/版本;
- 网络隔离;
- 快照/备份;
- 测试账户;
- 应用程序和 Web 服务器日志。

避免针对无关的生产系统进行测试。

---

## 故障排除

### `ModuleNotFoundError: No module named 'requests'`

安装 Python 依赖:```bash
python3 -m pip install requests urllib3

无法读取 Payload 文件

确认提供的路径存在且可读:```bash ls -l

### 初始 HTTP 请求失败

检查:

- URL 正确性;
- DNS;
- 网络连通性;
- HTTP/HTTPS 可用性;
- 防火墙规则;
- 目标范围;
- 服务器日志。

### 未检测到 CSRF token
下载工具