CVE-2024-1512 披露了 MasterStudy LMS WordPress 插件中的一个严重漏洞,具体涉及 /lms/stm-lms/order/items REST 路由的实现。该问题源于插件未能正确转义 'user' 参数,同时 SQL 查询的预处理也不充分。因此,攻击者可以通过操纵 'user' 参数向查询中注入恶意 SQL 代码。该漏洞为基于 UNION 的 SQL 注入攻击提供了便利,攻击者可借此将额外的 SQL 命令追加到原始查询中,从而实现未授权的数据库交互。这些交互可能包括数据提取、数据删除或数据篡改,对数据的机密性、完整性和可用性构成重大风险。利用此漏洞无需身份验证,因此尤为危险,任何能够向受影响站点发送 HTTP 请求的远程攻击者均可尝试利用该漏洞。
使用 sqlmap 进行漏洞利用,将 http://example.com 替换为目标 URL。
sqlmap -u 'http://example.com/?rest_route=/lms/stm-lms/order/items&author_id=111&user=555' --dbs --batch -p user
仓库中提供的 Go 脚本可通过测量对精心构造的 SQL 注入载荷的响应时间来检测该漏洞是否存在。该工具通过将 SQL 注入载荷附加到作为参数提供的基础 URL 上来构造 URL。然后向该 URL 发起 HTTP GET 请求。如果响应时间明显长于正常情况(示例以 5 秒作为基准),则表明 SQL 注入尝试可能已经成功,从而提示存在潜在漏洞。
go run main.go http://example.com
请将 MasterStudy LMS WordPress 插件更新到 3.2.5 之后的版本,该漏洞已在后续版本中得到修复。始终严格验证和清理输入参数,以防范 SQL 注入漏洞。
NVD - CVE-2024-1512 详情
Tenable - CVE-2024-1512
Wordfence 安全公告 - MasterStudy LMS 插件漏洞