
Apache Tomcat CVE-2025-24813 के लिए स्थानीय प्रतिकृति लैब, जो शोषण की स्थितियों और भेद्यता के AI-सहायता प्राप्त सत्यापन का दस्तावेजीकरण करता है।
केवल स्थानीय अधिकृत प्रयोग, पैच की समझ और रक्षात्मक सत्यापन के लिए। कृपया अनधिकृत लक्ष्यों पर अनुरोध न भेजें।
यह प्रोजेक्ट Apache Tomcat 9.0.98 के स्थानीय इंस्टेंस पर CVE-2025-24813 की पुनरुत्पादन प्रक्रिया का रिकॉर्ड रखता है: partial PUT का उपयोग करके अस्थायी फ़ाइल लिखना, फ़ाइल-आधारित Session स्थायित्व सक्षम और डीसीरियलाइज़ेशन फ़िल्टर शर्तों के ढीले कॉन्फ़िगरेशन के अंतर्गत, Session फ़ाइल लोडिंग और Payload निष्पादन श्रृंखला का सत्यापन करना।
.inject.session के सफलतापूर्वक लिखे जाने की पुष्टि की जाती है, फिर एक्सेस द्वारा Session लोडिंग और Payload निष्पादन ट्रिगर होने की पुष्टि की जाती है; केवल HTTP स्टेटस कोड से सफलता का निर्धारण नहीं किया जा सकता।409 या 500 लौटाते हैं, लेकिन फ़ाइल लेखन और बाद के ट्रिगर को अभी भी फ़ाइल सामग्री, सर्वर लॉग और नियंत्रित दुष्प्रभावों के आधार पर चरणबद्ध रूप से निर्धारित करना आवश्यक है।Apache की आधिकारिक सुरक्षा सूचना में CVE-2025-24813 के ट्रिगर होने की पूर्व-शर्तें, प्रभावित दायरा (Tomcat 9.0.0-M1 से 9.0.98 तक) और 9.0.99 में सुधार की जानकारी सूचीबद्ध है: https://tomcat.apache.org/security-9
java -version के अनुसार)requests127.0.0.1:8080 पर सुनता हैscripts/reproduce_local.py # स्थानीय सत्यापन स्क्रिप्ट, लक्ष्य डिफ़ॉल्ट रूप से localhost:8080
evidence/ # प्रयोग स्क्रीनशॉट (चरणों के अनुसार पुनःनामित)
python3 -m venv .venv
. .venv/bin/activate
python -m pip install requests
python scripts/reproduce_local.py
स्क्रिप्ट में लक्ष्य स्थानीय प्रयोग पते पर निश्चित है, इसमें रिमोट स्कैनिंग लॉजिक शामिल नहीं है। चलाने से पहले स्थानीय Tomcat इंस्टेंस में पुष्टि करें:
work/Catalina/localhost/ROOT अवलोकन योग्य हैं।PUT /inject/session में Content-Range शामिल करें, देखें कि अस्थायी फ़ाइल उत्पन्न होती है या नहीं;work/Catalina/localhost/ROOT/.inject.session का आकार और सामग्री जाँचें;JSESSIONID=.inject का उपयोग करके नियंत्रित स्थानीय पृष्ठ पर पहुँचें, Session फ़ाइल लोडिंग का अवलोकन करें;409/500 को सीधे भेद्यता पुनरुत्पादन की विफलता या सफलता न मानें।HTTP हेडर में वास्तविक CRLF (बाइट 0d 0a) का उपयोग करना आवश्यक है, 0x0d0x0a को दृश्य टेक्स्ट के रूप में न भेजें। Python में b"\\r\\n" का उपयोग करें या requests को अनुरोध हेडर बनाने दें।
जिसमें सुधार शामिल हो ऐसे Tomcat संस्करण में प्राथमिकता के आधार पर अपग्रेड करें, और Default Servlet की लेखन अनुमतियों, partial PUT के उपयोग परिदृश्यों तथा Session persistence फ़िल्टर कॉन्फ़िगरेशन की पुनः जाँच करें। सुधार के बाद स्थानीय सत्यापन के उन्हीं चरणों को दोहराएँ, अपेक्षा है कि अस्थायी फ़ाइल लेखन श्रृंखला या Session लोडिंग श्रृंखला अब मान्य नहीं रहेगी।
यह रिपॉज़िटरी इंटरनेट-लक्षित स्कैनिंग, स्थायित्व या बल्क शोषण कार्यक्षमता प्रदान नहीं करती। सभी सामग्री केवल स्वयं द्वारा नियंत्रित स्थानीय प्रयोग वातावरण और स्पष्ट रूप से अधिकृत टारगेट रेंज तक सीमित है।