CVE-2023-53922CVE-2023-53922是TinyWebGallery v2.5中存在的一个严重安全漏洞,CVSS评分高达9.8分(严重级别)。该漏洞位于管理后台的文件上传功能中,攻击者可以在无需任何认证的情况下,通过构造恶意的PHP文件(包括.phar文件)上传到服务器。TinyWebGallery是一款流行的PHP图片画廊和管理应用程序,广泛应用于个人网站和企业内部文件管理系统。由于其管理后台通常部署在可访问的网络环境中,且默认配置可能存在安全风险,攻击者可以利用此漏洞完全控制目标服务器。漏洞的核心问题在于应用程序对上传文件的类型验证不足,允许攻击者上传包含恶意代码的PHP脚本文件。一旦文件上传成功,攻击者只需访问该文件的URL即可触发代码执行,从而在服务器上执行任意系统命令,获取服务器的最高权限。此漏洞影响严重,任何运行TinyWebGallery v2.5且管理后台暴露在网络中的服务器都可能成为攻击目标。
TinyWebGallery v2.5的管理后台存在不受限制的文件上传漏洞。漏洞存在于/admin/index.php或类似的文件上传处理模块中,应用程序在处理文件上传请求时,仅检查文件扩展名而未对文件内容进行安全验证。攻击者可以利用此漏洞上传包含恶意PHP代码的文件,如.php、.phar等格式的文件。攻击流程如下:首先,攻击者构造一个包含system()或exec()等命令执行函数的PHP文件,例如:<?php system($_GET['cmd']); ?>。然后,通过HTTP POST请求将恶意文件发送到管理后台的上传接口,通常是/admin/index.php?action=upload或类似的端点。由于应用程序未验证上传文件的MIME类型和内容,恶意文件会被保存在服务器的可访问目录下。最后,攻击者通过访问上传文件的URL路径(如/photos/evil.php?cmd=whoami),即可在服务器上执行任意系统命令。攻击者还可以上传webshell获得持久化的远程访问能力,进而在内网中横向移动。漏洞的根源在于缺少对上传文件的严格白名单验证,以及对已上传文件的访问控制不当。