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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-22710 — إثبات المفهوم لـ CVE-2025-22710 | Kitploit
أدوات/GitHubGitHub/dottak/cve-2025-22710
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubdottak/cve-2025-22710

CVE-2025-22710

إثبات المفهوم لـ CVE-2025-22710

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-22710

1️⃣ نوع المكون

إضافة ووردبريس

2️⃣ تفاصيل المكون

اسم المكون WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager

الإصدار القابل للاستغلال <= 8.50.0

معرف المكون smart-manager-for-wp-e-commerce

رابط المكون https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/

3️⃣ OWASP 2017: TOP 10

فئة الثغرة A3: Injection

نوع الثغرة SQL Injection

4️⃣ المتطلبات الأساسية

مسؤول (Administrator)

5️⃣ تفاصيل الثغرة

👉 وصف مختصر

إضافة Smart Manager (الاسم الكامل: WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager) هي إضافة تسمح بتحرير وعرض جميع أنواع المنشورات في ووردبريس بشكل مجمّع.

في الإصدار 8.50.0 والإصدارات الأقدم من إضافة Smart Manager، عند استخدام وظيفة البحث المتقدم لعرض المنشورات، تحدث ثغرة حقن SQL (SQL Injection) لأن قيم التصفية تمر إلى استعلامات قاعدة البيانات دون معالجة الهروب (escape).

ومع ذلك، على الرغم من عدم إمكانية رؤية النتائج المباشرة لهجمات حقن SQL على الشاشة، إلا أن حقن SQL الأعمى (Blind SQL Injection) ممكن من خلال الاختلافات في قيم الاستجابة بناءً على الشروط الصحيحة/الخاطئة (true/false).

👉 طريقة إعادة الإنتاج (PoC)

⚠️ يجب أن يوجد منشور واحد على الأقل لملاحظة الفرق في قيم الاستجابة بناءً على الشروط الصحيحة/الخاطئة.

  1. قم بإعداد موقع ووردبريس مثبت عليه إضافة Smart Manager، وسجّل الدخول بحساب مسؤول، وانتقل إلى لوحة تحكم إضافة Smart Manager (/wp-admin/admin.php?page=smart-manager).

image

  1. انقر على مربع الاختيار "Advanced Search" على الجانب الأيمن من شريط البحث لفتح نافذة البحث المتقدم.

image

  1. في تصفية البحث المتقدم، اختر "Post Title" ثم "is"، وأدخل الحمولة ' OR 1=1 )) # في حقل الإدخال النصي. بعد ذلك، انقر على زر البحث في الأعلى.

image

  1. عند التحقق من نتائج البحث، نظرًا لأن شرط الحمولة صحيح دائمًا (OR 1=1)، يتم استرداد جميع المنشورات.

image

  1. من ناحية أخرى، إذا اخترت "Post Title" و "is" في تصفية البحث المتقدم وأدخلت ' OR 1=2 )) # في حقل الإدخال النصي، فلن يتم استرداد أي منشور لأن الشرط خاطئ دائمًا (OR 1=2).

image

image

👉 معلومات إضافية (اختياري)

[سبب الثغرة]

عند تنفيذ وظيفة "Advanced Search" المطلوبة في وصف PoC أعلاه، يتم إنشاء الحزمة التالية، ويتم إدخال قيم التصفية (Post Title، is، ' OR 1=1 )) #) التي تم إدخالها في البحث المتقدم في بيانات الطلب advanced_search_query.

root@kitploit:~
advanced_search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]

image

عند طلب هذه الحزمة، يتم استدعاء الدالة get_data_model في الملف /wp-content/plugins/smart-manager-for-wp-e-commerce/classes/class-smart-manager-base.php، وتقوم بتنفيذ استعلامات قاعدة البيانات بالترتيب التالي.

  1. إذا كانت بيانات الطلب advanced_search_query موجودة، فإنها تستدعي الدالة process_search_cond. في هذا الوقت، يتم تمرير بيانات الطلب advanced_search_query إلى القيمة ذات المفتاح search_query في وسيط زوج المفتاح-القيمة.

    root@kitploit:~
    search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]
    

    image

  2. الدالة المستدعاة process_search_cond تتكرر عبر القيمة ذات المفتاح search_query، وتهيئ قيمة التصفية "Post Title" (post_title) في المتغير $search_col، وتهيئ قيمة التصفية ' OR 1=1 )) # التي تحتوي على حمولة حقن SQL في المتغير $search_value.

في وظيفة البحث المتقدم، يتم تضمين إدخال المستخدم (' OR 1=1 )) #) مباشرة في استعلام قاعدة البيانات دون معالجة هروب، مما يؤدي إلى ثغرة حقن SQL. تسمح هذه الثغرة للمهاجمين بتنفيذ استعلامات SQL عشوائية، مما قد يؤدي إلى مخاطر أمنية خطيرة مثل تسريب أو التلاعب بالمعلومات الحساسة من قاعدة البيانات.

[تنفيذ كود PoC وتشغيله]

⚠️ يقوم كود PoC باستعلام اسم قاعدة البيانات من خلال استغلال ثغرة حقن SQL.

  1. افتح كود PoC في محرر وأدخل عنوان موقع ووردبريس وبيانات اعتماد المسؤول.

    image

  2. ثم أدخل الأمر التالي لتشغيل كود PoC.

    الوحدة المطلوبة requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ عرض الاستغلال

video

7️⃣ المراجع

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22710
تنزيل الأداة

image

  • يتم تمرير المتغيرين $search_col و $search_value إلى مفتاحي المصفوفة $search_params وهما search_col (=post_title) و search_value (=' OR 1=1 )) #) على التوالي. بعد ذلك، يتم تمرير هذا المتغير $search_params كقيمة ذات مفتاح search_params إلى الدالة create_flat_table_search_query.

    image

  • بعد ذلك، تقوم الدالة create_flat_table_search_query بتعريف جملة WHERE الخاصة باستعلام SQL، وفي هذه النقطة، يتم تضمين search_value (=' OR 1=1 )) #) من المفتاح search_params الذي تم تمريره كوسيط في جملة WHERE دون أي معالجة هروب.

    image

  • ثم، يتم تمرير القيمة المرجعة للدالة create_flat_table_search_query (التي تحتوي على حمولة حقن SQL) كوسيط إلى الدالة process_flat_table_search_query.

    image

  • تقوم الدالة process_flat_table_search_query ببناء استعلام قاعدة بيانات باستخدام الوسيط المستلم، وتهيئ المتغيرات $select و $from و $where. هنا، يمكننا أن نرى أن حمولة حقن SQL تمر مباشرة إلى المتغير $where دون أي تحقق.

    image

  • يتم تعيين المتغيرات $select و $from و $where مباشرة إلى المتغير $query_posts_search، ويتم تمرير هذا المتغير في النهاية كوسيط إلى الدالة التي تنفذ استعلام قاعدة البيانات.

    image