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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-11551-PoC | Kitploit
أدوات/GitHubGitHub/ubaydev/cve-2026-11551-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالمصادقة
GitHububaydev/cve-2026-11551-poc

CVE-2026-11551-PoC

عرض المستودع
1منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-11551 - امتياز غير مصادق عليه في White Label & Branding, Free Login Page Customizer

White Label & Branding, Free Login Page Customizer <= 3.4.29 - تصعيد امتيازات غير مصادق عليه عبر الاستيلاء على الحساب

التدفق الكامل لـ WordPress Core → مرشح Branda:

root@kitploit:~
wp_update_user( $userdata )
    │
    ├── wp_hash_password( $userdata['user_pass'] )   ← Line 2709: SUDAH DI-HASH
    │
    └── wp_insert_user( $userdata )
            │
            ├── $user_pass = $userdata['user_pass']  ← Line 2228: HASHED
            │
            ├── $data = compact('user_pass', ...)    ← Line 2469: HASHED
            │
            ├── apply_filters('wp_pre_inserter_id)
            │       │
            │       └── Branda: pre_insert_u
            │               │
            │               ├── query wp_sig['user_login']
            │               ├── if meta['pas
            │               │   $data['user_ta['password'])
            │               │                                        ↑
            │                           ┌───
            │                           │
            │                           ↓
            │               DOUBLE HASH: wp_d($raw))
            │
            └── $wpdb->update( $wpdb->users, $data, ... )  ← Line 2515: DOUBLE HASH TERSIMPAN

الكود المعرّض للثغرة (inc/modules/login-screen/signup-password.php:230-251)

root@kitploit:~
/**
 * BRANDA - signup-password.php
 * Filter: wp_pre_insert_user_data
 */
public function pre_insert_user_data( $data,
    // ❌ TIDAK ADA CEK: if ($update) return
    // ❌ Filter ini JALAN untuk INSERT DAN

    if ( is_multisite() ) {
        global $wpdb;

        // ❌ $data['user_login'] dari POST n edit user
        $query = $wpdb->prepare(
            "SELECT meta FROM {$wpdb->signup
            $data['user_login']  // ← bisa diubah attacker
        );
        $result = $wpdb->get_var( $query );
        $meta   = maybe_unserialize( $result

        if ( is_array( $meta ) && isset( $me
            // ❌ DOUBLE HASH: WordPress SUDAH hash sebelum filter ini jalan
            // $meta['password'] = "mysecret
            // wp_hash_password("mysecretpasama dari WP core)
            // wp_hash_password("$P$Bxyz..."dari Branda)
            $data['user_pass'] = wp_hash_pas

            unset( $meta['password'] );
            $wpdb->update(
                $wpdb->signups,
                array( 'meta' => maybe_seria
                array( 'user_login' => $data
            );
        }
        return $data;
    }
    // ...
}

كود WordPress Core الذي يسبب الثغرة:

  1. wp_update_user() — السطر 2706-2709
root@kitploit:~
// wp-includes/user.php:2706
if ( ! empty( $userdata['user_pass'] ) && $u_user_data->user_pass ) {
    $plaintext_pass        = $userdata['user
    $userdata['user_pass'] = wp_hash_passwor // ← HASH #1
}
  1. wp_insert_user() — السطر 2228
root@kitploit:~
// wp-includes/user.php:2228 (UPDATE path)
$user_pass = ! empty( $userdata['user_pass'] $old_user_data->user_pass;
// $user_pass sekarang = "$P$Bxyz...SUDAH HASH"
  1. wp_insert_user() — السطر 2505
root@kitploit:~
// wp-includes/user.php:2505
$data = apply_filters( 'wp_pre_insert_user_dd, $userdata );
// Branda filter jalan, $data['user_pass'] SUDAH HASH dari line 2228

سيناريو الهجوم: الاستيلاء على حساب المسؤول

الإعداد

  1. ووردبريس متعدد المواقع (Multisite) مع ميزة تسجيل Branda
  2. يوجد تسجيل معلّق في wp_signups:
root@kitploit:~
   ┌─────────────┬──────────────────────────┐
   │ user_login   │ meta (serialized)       │
   ├─────────────┼──────────────────────────│
   │ victim_user  │ a:1:{s:8:"password";s:10:"H4cker123!"}│
   └─────────────┴──────────────────────────┴
  1. الهدف: المستخدم "admin_user" (ID=2) بدور المسؤول (Administrator)

تدفق الاستغلال

الخطوة 1: المهاجم يسجّل الدخول إلى WP-Admin (عبر الويب أو عبر استغلال CSRF لتفعيل إجراء المسؤول)

الخطوة 2: المهاجم يفتح /wp-admin/user-edit.php (لتعديل admin_user)

الخطوة 3: المهاجم يغيّر user_login الخاص بـ admin_user إلى "victim_user"

root@kitploit:~
        ┌────────────────────────────────────────────┐
        │ Field: username                            │
        │ Value: victim_user  ← DIUBAH               │
        └────────────────────────────────────────────┴

الخطوة 4: يتم إرسال النموذج → يتم استدعاء wp_update_user()

الخطوة 5: تدفق WordPress Core:

root@kitploit:~
        wp_update_user({ID: 2, user_login: "victim_user", ...})
            │
            ├── user_pass = wp_hash_password(old_password)  ← HASH #1
            │
            └── wp_insert_user({ID: 2, user_login: "victim_user", user_pass: "$P$Bhash1"})
                    │
                    └── apply_filters('wp_pre_insert_user_data', $data, true, 2)
                            │
                            └── Branda: pre_insert_user_data()
                                    │
                                    ├── $data['user_login'] = "victim_user"
                                    │
                                    ├── SELECT meta FROM wp_signups WHERE user_login = "victim_user"
                                    │   → meta = 'a:1:{s:8:"password";s:10:"H4cker123!"}'
                                    │
                                    ├── $meta['password'] = "H4cker123!"
                                    │
                                    └── $datword("H4cker123!")
                                             ← HASH #2 (DOUBLE!)

الخطوة 6: تحديث جدول wp_users:

root@kitploit:~
        ┌────┬────────────┬──────────────────────────────────┐
        │ ID │ user_login │ user_pass                        │
        ├────┼────────────┼──────────────────────────────────┼
        │ 2  │ victim_user│ $P$Bhash2  ← DOUBLE HASH!        │
        └────┴────────────┴──────────────────────────────────┴

الخطوة 7: admin_user الآن:

  • اسم المستخدم: victim_user
  • كلمة المرور: H4cker123! لكنها مشفّرة مرتين
  • فشل تسجيل الدخول! → قفل الحساب

الخطوة 8: في هذه الأثناء، يمكن للمهاجم:

  • تسجيل الدخول باستخدام بيانات اعتماد الاشتراك إذا لم يتم تنظيف meta بعد
  • أو إعادة الاشتراك بنفس user_login

المراجع:

  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/trunk/inc/modules/login-screen/signup-password.php?rev=3429115#L232
  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/tags/3.4.29/inc/modules/login-screen/signup-password.php#L232
  • https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/branda-white-labeling/branda-white-label-branding-free-login-page-customizer-3429-unauthenticated-privilege-escalation-via-account-takeover
تنزيل الأداة