
PoC لتعداد أسماء المستخدمين في Silverpeas <= 6.4.2
نص برمجي لبرهان المفهوم (PoC) لإظهار ثغرة تعداد أسماء المستخدمين في إصدارات Silverpeas 6.4.1 و6.4.2.
الملخص: توجد الثغرة في وظيفة استعادة كلمة المرور (نقطة النهاية /silverpeas/CredentialsServlet/ForgotPassword). من خلال إرسال طلبات POST بأسماء مستخدمين محتملة في معامل Login، يستجيب الخادم برموز حالة HTTP مختلفة (200 OK للمستخدمين الصالحين، و302 Found للمستخدمين غير الصالحين). يتيح هذا التباين لمهاجم بعيد غير مصادَق تحديد أسماء المستخدمين الصالحين على النظام.
silverpeas_enum_poc.pyrequests (pip install requests)استنسِخ المستودع أو نزّل النص البرمجي (silverpeas_enum_poc.py).
ثبّت التبعيات: pip install requests
شغّل النص البرمجي من الطرفية:
اختبار اسم مستخدم واحد:
python silverpeas_enum_poc.py <TARGET_URL> -u <USERNAME>
مثال: python silverpeas_enum_poc.py http://vulnerable-silverpeas.local -u admin
اختبار أسماء مستخدمين من ملف:
python silverpeas_enum_poc.py <TARGET_URL> -w <WORDLIST_FILE>
مثال: python silverpeas_enum_poc.py https://vulnerable-silverpeas.com -w users.txt
سيُخرج النص البرمجي ما يلي:
[+] Username '...' appears VALID (Status: 200) لأسماء المستخدمين التي يُرجَّح أنها تقابل حسابات قائمة.[-] Username '...' appears INVALID (Status: 302) لأسماء المستخدمين التي يُرجَّح أنها لا تقابل حسابات قائمة.يُقدَّم هذا النص البرمجي لأغراض تعليمية وللتوضيح العملي للثغرة. استخدم هذا النص بمسؤولية وفقط ضد الأنظمة التي لديك إذن صريح ومكتوب لاختبارها. الفحص أو الاختبار غير المصرَّح به غير قانوني وغير أخلاقي. لا يتحمّل المؤلف أي مسؤولية ولا يكون مسؤولًا عن أي إساءة استخدام أو ضرر ناتج عن هذا النص البرمجي.