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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-11972-POC — CVE-2024-11972 in Hunk Companion <1.9.0 बिना प्रमाणीकरण के हमलावरों को असुरक्षित REST API एंडपॉइंट का शोषण करने और कमजोर प्लगइन्स स्थापित करने की अनुमति देता है, जिससे RCE, SQLi, XSS और बैकडोर का जोखिम होता है। | Kitploit
उपकरण/GitHubGitHub/ronf98/cve-2024-11972-poc
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणएपीआई सुरक्षा परीक्षणपेनिट्रेशन टेस्टिंग
GitHubronf98/cve-2024-11972-poc

CVE-2024-11972-POC

CVE-2024-11972 in Hunk Companion <1.9.0 बिना प्रमाणीकरण के हमलावरों को असुरक्षित REST API एंडपॉइंट का शोषण करने और कमजोर प्लगइन्स स्थापित करने की अनुमति देता है, जिससे RCE, SQLi, XSS और बैकडोर का जोखिम होता है।

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

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

सभी देखें →

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

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

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

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

विवरण

  • नाम : CVE-2024-11972
  • CVSSv3 स्कोर : 9.8
  • प्रभावित संस्करण : Hunk Companion < 1.9.0
  • प्रकाशित : 30/12/24

CVE-2024-11972 Hunk Companion WordPress प्लगइन के 1.9.0 से पहले के संस्करणों में एक गंभीर कमजोरी है। यह दोष अनधिकृत हमलावरों को अनुचित रूप से प्राधिकृत REST API एंडपॉइंट का शोषण करने की अनुमति देता है, जिससे वे WordPress.org रिपॉजिटरी से प्लगइन्स, जिनमें पुराने या ज्ञात कमजोरियों वाले प्लगइन्स शामिल हैं, को स्थापित और सक्रिय कर सकते हैं। इस कमजोरी का शोषण करने से गंभीर सुरक्षा जोखिम हो सकते हैं, जैसे रिमोट कोड निष्पादन, SQL इंजेक्शन, XSS या प्रशासनिक बैकडोर।

इस कमजोरी का दुरुपयोग करने का एक सामान्य उदाहरण WP Query Console प्लगइन के साथ है। इस शोषण का उपयोग करके स्थापित होने के बाद, यह प्लगइन WordPress के भीतर एक कंसोल इंटरफ़ेस प्रदान करता है जहाँ उपयोगकर्ता साइट के डेटाबेस के विरुद्ध SQL क्वेरी चला सकते हैं, जिससे डेटा चोरी, बैकडोर निर्माण और पूर्ण डेटाबेस समझौता संभव होता है।

शोषण

निर्भरताएँ

आवश्यक Python लाइब्रेरीज़ -> argparse, requests, urljoin

उपयोग

root@kitploit:~
options:
  -h, --help            show this help message and exit
  -u URL, --url URL     Base URL of the WordPress site (default: http://localhost/wordpress/).
  -p PLUGIN, --plugin PLUGIN
                        Plugin name to install (default: classic-editor).
  1. exploit.py डाउनलोड करें
  2. इसे सही आर्गुमेंट के साथ चलाएँ - python exploit.py -u <insert wordpress URL> -p <insert plugin name>

स्रोत कोड समीक्षा

कमजोर एंडपॉइंट, /wp-json/hc/v1/themehunk-import, की पहचान शुरू में Daniel Rodriguez द्वारा एक चल रही जांच के भाग के रूप में एक्सेस लॉग के विश्लेषण के दौरान की गई थी। इस जानकारी का उपयोग करके हम आयात एंडपॉइंट के स्रोत कोड के अंदर देख सकते हैं। /import/core/class-installation.php फ़ाइल के अंदर हम निम्नलिखित पंक्ति देख सकते हैं:

root@kitploit:~
204 |  $temp_file = download_url('https://downloads.wordpress.org/plugin/'.$slug.'.zip');

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

समस्या में गहराई से जाने के लिए, हम /import/app/app.php के अंदर देख सकते हैं, आइए संस्करण 1.8.0 | 1.8.7 | 1.9.0 में पेश किए गए विभिन्न सुधारों की तुलना करें क्योंकि प्रत्येक ने सुरक्षा की एक और परत जोड़ी:

1.8.0 (1.8.7 से नीचे के सभी संस्करण)

root@kitploit:~
register_rest_route( 'hc/v1', 'themehunk-import', array(
          'methods' => 'POST',
          'callback' => array( $this, 'tp_install' ),
          'permission_callback' => '__return_true',
      ) );

permission_callback हमेशा true लौटाता है, यह किसी भी उपयोगकर्ता या अनधिकृत अभिनेता को POST अनुरोध का उपयोग करके एंडपॉइंट तक पहुँचने की अनुमति देता है। चूँकि किसी भी प्रकार की प्रमाणीकरण प्रक्रिया की कोई Nonce सत्यापन नहीं है, एक हमलावर आवश्यक अनुमतियों को बायपास कर सकता है और सीधे वांछित प्लगइन स्थापित कर सकता है।

1.8.7

संस्करण 1.8.7 में, पिछले संस्करणों में मौजूद दोषों को दूर करने के लिए कई सुरक्षा सुधार पेश किए गए थे, लेकिन एंडपॉइंट /hc/v1/themehunk-import और समग्र कार्यान्वयन में अभी भी महत्वपूर्ण दोष हैं:

root@kitploit:~
public function register_routes() {

    register_rest_route( 'hc/v1', 'themehunk-import', array(
      'methods' => 'POST',
      'callback' => array( $this, 'tp_install' ),
      'permission_callback' => function () {
// Check if the user is logged in
if ( ! is_user_logged_in() ) {
    return new WP_REST_Response( 'Unauthorized: User not logged in', 401 );
}

// Debug: Log the user role and capabilities to see what they have
$current_user = wp_get_current_user();
// error_log( 'Current user: ' . $current_user->user_login );
// error_log( 'User roles: ' . implode( ', ', $current_user->roles ) );
// error_log( 'User capabilities: ' . print_r( $current_user->allcaps, true ) );

// Ensure the user has the 'install_plugins' capability
if ( ! current_user_can( 'install_plugins' ) ) {
    return new WP_REST_Response( 'Unauthorized: Insufficient capabilities', 401 );
}

  // Get the nonce from the request header
        $nonce = $request->get_header('X-WP-Nonce');

        // Verify the nonce
        if ( ! wp_verify_nonce( $nonce, 'hc_import_nonce' ) ) {
            return new WP_REST_Response( 'Unauthorized: Invalid nonce', 401 );
        }

return true; // Permission granted

जबकि इस संस्करण में यह सुनिश्चित करने के लिए जाँच शामिल है कि उपयोगकर्ता लॉगिन है (is_user_logged_in()) और यह सत्यापित करता है कि उनके पास उपयुक्त क्षमताएँ हैं (current_user_can('install_plugins')), यदि नहीं तो 401 Unauthorized प्रतिक्रिया भेजता है, फिर भी यह मुख्य मुद्दे को अनदेखा करता है जो अनसुलझा रहता है। WordPress कॉलबैक तर्क जब permission_callback की बात आती है तो इस प्रकार मूल्यांकन किया जाता है:

image

अर्थात एक सही प्रतिक्रिया निम्नलिखित में से एक होगी - true | false | WP_Error। समस्या इस तथ्य से उपजी है कि लौटाया गया WP_REST_Response बूलियन या WP_Error नहीं है, चूँकि WordPress इसे अस्वीकृति (false) या एक त्रुटि (WP_Error() के रूप में व्याख्या नहीं करता है, यह संभावित रूप से इसे निहित रूप से स्वीकार कर सकता है और एक अनधिकृत उपयोगकर्ता को पहुँच प्रदान कर सकता है, मूलतः मुख्य समस्या का समाधान नहीं करता है।

1.9.0

संस्करण 1.9.0 ने सफलतापूर्वक समस्या का समाधान किया, जिससे कमजोरी अब शोषण योग्य नहीं रही:

root@kitploit:~
public function register_routes() {

    register_rest_route( 'hc/v1', 'themehunk-import', array(
      'methods' => 'POST',
      'callback' => array( $this, 'tp_install' ),
      'permission_callback' => function () {
      // Check if the user is logged in
      if ( ! is_user_logged_in() ) {
          return false;
      }

// Debug: Log the user role and capabilities to see what they have
$current_user = wp_get_current_user();
// error_log( 'Current user: ' . $current_user->user_login );
// error_log( 'User roles: ' . implode( ', ', $current_user->roles ) );
// error_log( 'User capabilities: ' . print_r( $current_user->allcaps, true ) );

// Ensure the user has the 'install_plugins' capability
if ( ! current_user_can( 'install_plugins' ) ) {
    return false;
}

  // Get the nonce from the request header
        $nonce = $request->get_header('X-WP-Nonce');

        // Verify the nonce
        if ( ! wp_verify_nonce( $nonce, 'hc_import_nonce' ) ) {
            return false;
        }

return true; // Permission granted

इस संस्करण में, हम देख सकते हैं कि यदि उपयोगकर्ता लॉगिन नहीं है या उसके पास सही अनुमतियाँ नहीं हैं, तो एक उचित गलत मान (false) लौटाया जाता है, यह सुनिश्चित करता है कि permission_callback सही ढंग से अनधिकृत पहुँच से इनकार करता है, जिससे शोषण अब व्यवहार्य नहीं रहा।

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