
CVE-2025-10035_GoAnywhere RCE प्राप्त करें

विवरण
एक हल्का Python जाँचकर्ता जो यह पता लगाता है कि कोई GoAnywhere इंस्टेंस CVE‑2025‑10035 के प्रति असुरक्षित है या नहीं।
यह उपकरण एक विशेष रूप से तैयार GET अनुरोध भेजता है जिसमें एक यादृच्छिक User-Agent होता है (fake-useragent और एक फॉलबैक सूची का उपयोग करते हुए), रीडायरेक्ट का अनुसरण नहीं करता, Location हेडर का निरीक्षण करता है, और इंस्टेंस को अनपैच्ड (असुरक्षित) या पैच्ड (असुरक्षित नहीं) के रूप में वर्गीकृत करता है।
नोट: इस रिपॉज़िटरी में केवल जाँचकर्ता शामिल है। एक PoC बाद में किसी अलग, स्पष्ट रूप से लेबल किए गए स्थान पर जोड़ा जा सकता है, यदि/जब उपयुक्त हो — अभी के लिए यह प्रोजेक्ट केवल डिटेक्शन-आधारित है।
CVE‑2025‑10035 (इस जाँचकर्ता के लिए सारांश)
एक अनपैच्ड GoAnywhere AdminErrorHandlerServlet एक मान्य लाइसेंस अनुरोध टोकन उत्पन्न कर सकता है और उसे एक रीडायरेक्ट URL में एम्बेड करके लौटा सकता है। वह टोकन आमतौर पर Location हेडर में bundle क्वेरी पैरामीटर के रूप में दिखाई देता है (अक्सर my.goanywhere.com पर रीडायरेक्ट करते हुए)।
my.goanywhere.com (या किसी अन्य होस्ट) पर HTTP रीडायरेक्ट होता है और उसमें bundle क्वेरी पैरामीटर होता है। bundle की उपस्थिति = असुरक्षित।/license/Unlicensed.xhtml जैसे लोकल पथ पर बिना bundle के रीडायरेक्ट करता है, या फिर रीडायरेक्ट नहीं करता।नैतिक अनुस्मारक: इस जाँचकर्ता को केवल उन सिस्टमों पर चलाएँ जिनके आप स्वामी हैं या जिन्हें जाँचने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। अनधिकृत स्कैनिंग अवैध और/या विघटनकारी हो सकती है।
User-Agent (fake-useragent + फॉलबैक सूची)।allow_redirects=False) ताकि Location हेडर का निरीक्षण किया जा सके।multiprocessing.dummy.Pool के माध्यम से मल्टी-थ्रेडेड स्कैनिंग।colorama का उपयोग करके रंगीन टर्मिनल आउटपुट।requestsfake-useragentcoloramaurllib3 (आमतौर पर requests के साथ इंस्टॉल होता है)requirements.txt
python -m venv .venv # optional but recommended source .venv/bin/activate # macOS / Linux .venv\Scripts\activate # Windows pip install -r requirements.txt
नीचे व्यावहारिक उदाहरण दिए गए हैं जिन्हें आप विभिन्न परिदृश्यों में जाँचकर्ता चलाने के लिए कॉपी/पेस्ट कर सकते हैं: एकल-लक्ष्य त्वरित परीक्षण, बैच स्कैनिंग, प्रोडक्शन सुरक्षा के लिए कम-दर स्कैनिंग, Docker के अंदर चलाना, और एक न्यूनतम GitHub Actions स्निपेट जो जाँचकर्ता को समय-समय पर या पुश पर चलाता है।
ये उदाहरण मानते हैं कि आपकी स्क्रिप्ट फ़ाइल का नाम
check_goanywhere.pyहै और इसेpython check_goanywhere.pyके साथ चलाया जा सकता है। अपने वातावरण के अनुसार फ़ाइल नाम, पथ और थ्रेड काउंट समायोजित करें।
# Scan targets listed in examples/targets.txt and append vulnerable hosts to results.txt
python check_goanywhere.py examples/targets.txt results.txt
# Use 10 worker threads for faster scanning (be careful with concurrency against production)
python check_goanywhere.py examples/targets.txt results.txt 10
नीचे यथार्थवादी नमूना आउटपुट दिए गए हैं जिनकी आप जाँचकर्ता चलाने पर अपेक्षा कर सकते हैं। सभी उदाहरण मानते हैं कि डिफ़ॉल्ट बैनर शुरुआत में प्रिंट होता है; [] वाली पंक्तियाँ रंगीन स्थिति संदेश दर्शाती हैं जिन्हें स्क्रिप्ट टर्मिनल पर प्रिंट करती है। स्कैन के बाद, असुरक्षित होस्ट को परिणाम फ़ाइल में जोड़ा जाता है।