CVE-2020-11107:XAMPP任意命令执行漏洞复现
漏洞说明
XAMPP是一个把Apache网页服务器与PHP、Perl及MariaDB集合在一起的安裝包,允许用戶可以在自己的电脑上轻易的建立网页服务器。该软件与phpstudy类似。在windows下,XAMPP允许非管理员账号访问和修改其编辑器和浏览器的配置,编辑器的默认配置为notepad.exe,一旦修改配置后,则对应的每个可以访问XAMPP控制面板的用户都更改了配置。当攻击者将编辑器的值设置为恶意的.exe文件或.bat文件,与此同时如果有管理员账号通过XAMPP控制面板查看apache的日志文件,便会执行恶意的.exe文件或.bat文件,以此达到任意命令执行。
1、漏洞影响范围
Apache Friends XAMPP < 7.2.29
Apache Friends XAMPP 7.3,< 7.3.16
Apache Friends XAMPP 7.4,< 7.4.4
2、环境搭建
在虚拟机上装上windows系统,本次以windows10为例。
下载XAMPP,地址:https://sourceforge.net/projects/xampp/files/XAMPP Windows/
环境安装和配置:
第一部分:首先以管理员的身份登录到windows10
运行cmd查看当前用户,这里的huawei即登录的有管理员权限的账户
使用管理员权限安装XAMPP,根据提示不要安装在C盘。
运行cmd,输入如下命令:powershell start-process cmd -verb runas
(用powershell启动管理员权限的cmd进程)
在管理员权限的cmd上,输入:net user venususer /add
,创建一个普通用户venususer,通过net user venususer
可知为普通权限用户:
输入命令net user venususer venususer
为venususer设置密码为venususer
接着关闭cmd命令窗口,注销管理员权限的huawei用户。
以普通用户venususer登录到windows10
输入上面设置的密码,登录venususer用户:
这里会等一下,有个这个界面:
登陆成功:
创建command.bat文件,输入命令如下,其作用是将venususer账号加入管理员权限:
@echo off
Net localgroup administrators venususer /add
运行xampp,并在控制面板上找到config配置。
修改编辑器的默认配置,更改为刚才创建的command.bat文件,添加并应用
查看venususer的用户组,还是普通权限,注销venususer账户
再次以管理员(huawei)登录到windows10:
打开XAMPP控制面板,点击查看logs文件:
都start一下,看一下logs文件没问题就好,有问题的话更改一下端口号。
在/xampp/apache/conf/extra/httpd-ssl.conf 把Listen 443更改成别的都行
在/xampp/apache/conf/extra/httpd.conf 把Listen 80 修改为什么都行
切换到venususer账户
运行cmd,查看venususer用户组,发现已经提升为administators组
3、漏洞复盘
条件1:windows系统。
条件2:装有XAMPP。
条件3:拥有系统普通账户。
条件4:管理员账户通过XAMPP面板查看logs文件。
4、修复方式
厂商已发布了新版本,可以从http://www.apachefriends.org/download.html 下载这些新的安装程序。