🚨 未认证远程代码执行(RCE)漏洞—文件上传
📌 概述
- 项目: QloApps
- 仓库: https://github.com/Qloapps/QloApps
- 受影响版本: <= 1.7.0
- 漏洞类别: 未认证远程代码执行
- 严重性: 严重
- CVSS v3.1: (严重) 9.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVE ID: CVE-2025-67325
- 发现者: Neakk Pornlur
- 披露日期: 2026-01-09
🧩 描述
QloApps 1.7.0及更早版本中,酒店评价功能存在无限制文件上传漏洞,允许远程未认证攻击者实现远程代码执行。
🎯 受影响端点
/module/qlohotelreview/default
⚠️ 根本原因
该漏洞的存在是由于:
- 缺少文件扩展名验证。
- 上传的文件被服务器直接执行。
- 该端点未实施任何身份验证或授权检查。
🔥 影响
成功利用该漏洞可使攻击者:
- 执行任意操作系统命令。
- 读取/写入/删除服务器敏感文件。
- 访问数据库凭据。
- 横向移动至内部网络服务。
- 完全控制托管服务器。
该漏洞导致机密性、完整性和可用性(CIA三要素)的完全丧失。
🛠️ QloApps 1.7.0 版本的概念验证(PoC)
我们需要一个有效的 id_order 和 Ajax 令牌来向易受攻击的端点发出请求。对于 id_order,我们可以从1开始手动暴力破解,或者创建一个访客账户并预订房间以获取 id_order。对于 Ajax 令牌,我们可以从任何酒店房间页面获取。
1. 获取 Ajax 令牌
2. 评价酒店并上传我们精心制作的图片+PHP网页shell
3. 触发远程代码执行
我们可以在 https://target.com/modules/qlohotelreview/views/img/review/<id_order>/1.php 找到上传的网页shell
