CVE-2025-11470CVE-2025-11470是SourceCodester酒店与旅馆管理系统(Hotel and Lodge Management System)1.0及以下版本中存在的一个安全漏洞。该漏洞位于系统管理后台的/manage_website.php文件中,具体涉及对website_image和back_login_image两个参数的文件上传处理逻辑。由于系统未对上传的文件类型、扩展名及内容进行充分的验证和过滤,攻击者可以在已认证的管理员权限下,将恶意文件(如WebShell)上传至服务器,从而实现远程代码执行。
该漏洞的CVSS 3.1评分为4.7,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H)才能利用,这意味着攻击者必须先获取管理员账号凭据才能触发该漏洞。用户交互不需要(UI:N),且对机密性、完整性和可用性均产生低程度影响。
该漏洞已于2025年10月8日公开披露,相关利用细节已在GitHub等平台公开,可能被恶意攻击者利用。建议使用该系统的组织尽快采取修复措施,包括升级到安全版本或应用安全补丁,以防止潜在的服务器被入侵风险。
该漏洞的核心问题在于/manage_website.php文件对文件上传功能缺乏有效的安全校验机制。在正常的网站管理功能中,管理员需要上传网站Logo(website_image)和后台登录页面背景图片(back_login_image),但代码实现中没有对上传文件的以下关键属性进行验证:
1. **文件扩展名验证缺失**:系统未检查上传文件的扩展名是否在白名单内(如仅允许.jpg、.png、.gif等图片格式),导致攻击者可以上传.php、.jsp、.asp等可执行脚本文件。
2. **MIME类型校验不足**:仅依赖浏览器发送的Content-Type头进行判断,攻击者可轻易伪造该头部信息绕过检测。
3. **文件内容检测缺失**:未对上传文件的内容进行魔术字节(Magic Bytes)检测,无法识别经过伪装的可执行文件。
4. **上传目录执行权限未限制**:上传的文件存储在Web可访问目录中,且该目录允许服务器解析执行脚本文件。
利用方式:攻击者首先需要通过其他途径(如弱口令爆破、社会工程学等)获取管理员账号凭据。登录管理后台后,访问/manage_website.php页面,在website_image或back_login_image参数对应的文件上传表单中提交一个包含恶意PHP代码的图片文件(可通过在合法图片中嵌入PHP代码或直接修改扩展名实现)。上传成功后,攻击者可通过浏览器直接访问上传文件的URL,执行其中的恶意代码,实现对服务器的完全控制。