
React2Shell (CVE-2025-55182) को स्कैन करने के लिए Nmap NSE script
React2Shell (CVE-2025-55182) स्कैन करने के लिए Nmap NSE स्क्रिप्ट
अस्वीकरण निम्नलिखित कोड केवल शैक्षिक और शोध उद्देश्यों के लिए प्रदान किया गया है। इस स्क्रिप्ट का कोई भी उपयोग पूर्णतः उपयोगकर्ता के विवेक और जिम्मेदारी पर होगा।
यह स्कैनर गलत सकारात्मक (false positive) या अनिर्णायक परिणाम उत्पन्न कर सकता है, इसलिए किसी भी रिपोर्ट किए गए निष्कर्ष को सत्यापित और पुष्टि करना उपयोगकर्ता का कर्तव्य है। लेखक इस कोड के निष्पादन से उत्पन्न दुरुपयोग, क्षति या अनपेक्षित परिणामों के लिए कोई जिम्मेदारी नहीं लेता है।
इस टूल का उपयोग केवल उन वातावरणों में करें जहाँ आपके पास स्पष्ट प्राधिकरण हो। सिस्टम का अनधिकृत परीक्षण सख्त वर्जित है और अवैध हो सकता है।
लेखक: Kevin Leon
श्रेणियाँ: discovery, vuln, intrusive
स्क्रिप्ट प्रकार: Nmap NSE
nmap --script http-vuln-cve2025-55182.nse -p- <target>
nmap --script http-vuln-cve2025-55182.nse -p3000,3001,3002 <target>
nmap --script http-vuln-cve2025-55182.nse \
--script-args=http-vuln-cve2025-55182.waf_bypass=true <target>
PORT STATE SERVICE
3000/tcp open ppp
| http-vuln-cve2025-55182:
| VULNERABLE:
| React2Shell Remote Code Execution (RCE)
| State: VULNERABLE
| IDs: CVE:2025-55182
| Risk factor: High CVSS: 10.0
| Disclosure date: 2025-12-03
| References:
| https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
| https://nvd.nist.gov/vuln/detail/CVE-2025-55182
| https://github.com/assetnote/react2shell-scanner
|_ https://github.com/msanft/CVE-2025-55182
एक्सप्लॉइटेशन का प्रयास करने से पहले, स्क्रिप्ट सत्यापित करती है कि लक्ष्य संभवतः निम्न चला रहा है:
पहचान विधियाँ
स्क्रिप्ट एक प्रारंभिक अनुरोध करती है:
http.get(host, port, "/")
और निम्न की जाँच करती है:
X-Powered-By: next.jsX-Powered-By: react_next
(Next.js स्टैटिक एसेट्स का संकेत)तो लक्ष्य को संभावित रूप से कमजोर (vulnerable) माना जाता है।
मल्टीपार्ट बाउंड्री जनरेशन
स्क्रिप्ट एक रैंडमाइज़्ड WebKit-फ़ॉर्म बाउंड्री उत्पन्न करती है:
----WebKitFormBoundary<random 16 chars>
इसका उपयोग multipart/form-data एक्सप्लॉयट के लिए किया जाता है।
उपयोगकर्ता आर्ग्युमेंट्स के आधार पर:
सरल एक्सप्लॉयट पेलोड
WAF बाईपास पेलोड
--script-args=http-vuln-cve2025-55182.waf_bypass=true
मिडलवेयर को बाईपास करने के लिए अधिक फ़ील्ड्स और ऑबफ़स्केशन शामिल करता है।
पेलोड के अंदर, स्क्रिप्ट निम्न इंजेक्ट करती है:
process.mainModule.require('child_process')
.execSync('echo $((41*271))')
यह कमांड 11111 का मूल्यांकन करता है और बाद में रीडायरेक्ट डाइजेस्ट पहचान के माध्यम से एक्सप्लॉइटेशन सत्यापित करने हेतु उपयोग किया जाता है।
स्क्रिप्ट कई ज्ञात RSC एंडपॉइंट्स पर तैयार किए गए पेलोड को POST करके कमजोरी का एक्सप्लॉइट करने का प्रयास करती है:
/
/_action
/api/action
/api
/_next/data
/__rsc
/action
/server
/server/action
प्रत्येक अनुरोध निम्न रूप में भेजा जाता है:
http.post(host, port, path, header, payload)
केस A — HTTP 500 सर्वर त्रुटि
एक सफल डिसेरियलाइज़ेशन विफलता संभावित कमजोरी का संकेत देती है:
केस B — NEXT_REDIRECT डाइजेस्ट की उपस्थिति
पेलोड सर्वर-साइड रीडायरेक्ट के लिए बाध्य करता है:
NEXT_REDIRECT;push;/login?a=11111;307;
स्क्रिप्ट रिस्पॉन्स हेडर में निम्न की जाँच करती है:
11111 शामिल हैयदि मिल जाए → अत्यधिक संभावित रूप से कमजोर (vulnerable)
पहचान परिणाम के आधार पर, स्क्रिप्ट एक मानक NSE कमजोरी रिपोर्ट भरती है:
VULNERABLE_VULN ┌──────────────────────┐
│ Start NSE Script │
└─────────────┬────────┘
│
▼
┌────────────────────┐
│ Request "/" │
│ Check headers/body │
└──────────┬─────────┘
│Yes
▼
┌────────────────────┐
│ React/Next.js Detected? ── No ─▶ Exit (Not Vulnerable)
└──────────┬─────────┘
│Yes
▼
┌────────────────────┐
│ Build multipart │
│ exploit payload │
└──────────┬─────────┘
▼
┌─────────────────────────────────┐
│ Loop through RSC endpoints │
│ Send POST exploit payload │
└──────────┬──────────────────────┘
│
┌─────────┴──────────────────────────────┐
▼ ▼
┌───────────────┐ ┌───────────────────┐
│ HTTP 500? │ YES │ Redirect digest? │ YES
└───────┬────────┘ └────────┬──────────┘
│NO │NO
▼ ▼
Continue testing Continue testing
│ │
└──────────────────────────────┬─────────┘
▼
┌────────────────────┐
│ Vulnerable? │
└──────────┬─────────┘
▼
Generate Report
यह स्क्रिप्ट उच्च-प्रभाव वाली React2Shell कमजोरी के लिए एक गहन, स्वचालित और सुरक्षित पहचान तंत्र प्रदान करती है। इसका परत-आधारित सत्यापन दृष्टिकोण गलत सकारात्मक (false positive) परिणामों को न्यूनतम करते हुए विश्वसनीय पहचान सुनिश्चित करता है।