
Citrix NetScaler ADC/Gateway में CVE-2025-12101 reflected XSS के लिए /cgi/logout पर तैयार SAMLResponse + RelayState पेलोड का उपयोग करके सरल Python PoC
सिट्रिक्स NetScaler ADC / Gateway इंस्टेंसेस को CVE-2025-12101 ( /cgi/logout पर परावर्तित XSS) के लिए एक तैयार SAMLResponse + RelayState पेलोड का उपयोग करके जाँचने के लिए सरल Python PoC।
⚠️ इस उपकरण का उपयोग केवल उन सिस्टमों पर करें जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपको स्पष्ट रूप से अधिकृत किया गया है।
CVE-2025-12101 एक परावर्तित क्रॉस-साइट स्क्रिप्टिंग भेद्यता है जो NetScaler ADC और NetScaler Gateway को प्रभावित करती है जब इसे Gateway या AAA वर्चुअल सर्वर के रूप में कॉन्फ़िगर किया जाता है।
कमजोर कॉन्फ़िगरेशन के तहत, /cgi/logout एंडपॉइंट SAML लॉगआउट प्रतिक्रियाओं को संसाधित करता है और RelayState पैरामीटर से हमलावर-नियंत्रित डेटा को उचित एन्कोडिंग के बिना प्रतिबिंबित कर सकता है, जिससे XSS होता है।
अनुसंधान और तकनीकी विवरण watchTowr Labs से आते हैं:
यह रिपॉजिटरी एक न्यूनतम रॉ-TLS Python जाँचकर्ता प्रदान करता है जो उसी शैली का पेलोड भेजता है और HTTP प्रतिक्रिया का निरीक्षण करता है।
रिपॉजिटरी को क्लोन करें:
git clone https://github.com/6h4ack/CVE-2025-12101-checker.git
cd CVE-2025-12101-checker
सुनिश्चित करें कि आपके पास Python 3 स्थापित है।
मुख्य स्क्रिप्ट एक अनिवार्य पैरामीटर स्वीकार करती है: -u / --url।
python3 cve-2025-12101.py -u https://www.example.com
यह भी मान्य:
python3 cve-2025-12101.py -u www.example.com
python3 cve-2025-12101.py -u http://www.example.com
URL आंतरिक रूप से सामान्यीकृत किया जाता है; स्क्रिप्ट होस्टनाम और पोर्ट निकालती है (HTTPS के लिए 443 और HTTP के लिए 80 डिफ़ॉल्ट)।
उदाहरण (एक कमजोर लक्ष्य के लिए):
[*] Testing target: www.example.com:443
===== RAW HTTP RESPONSE BEGIN =====
HTTP/1.1 302 Object Moved
Content-Type: text/html
...
<script>alert(1)</script>
...
===== RAW HTTP RESPONSE END =====
[+] HTTP status code: 302
[+] Payload '<script>alert(1)</script>' reflected: True
[VULNERABLE] XSS confirmed on www.example.com with payload '<script>alert(1)</script)'
एक गैर-कमजोर लक्ष्य के लिए, आप कुछ इस प्रकार देखेंगे:
[INFO] No XSS behaviour detected on www.example.com with this payload.
परिणाम को टर्मिनल में देखना आसान बनाने के लिए ANSI रंगों का उपयोग किया जाता है (कमजोर के लिए हरा, गैर-कमजोर/त्रुटि स्थितियों के लिए लाल)।