ثغرة PHP 2 Shell

الفكرة ببساطة إن الموقع بيكون فيه جزء من الكود بيستقبل بيانات من المستخدم وبيتعامل معاها بطريقة غير آمنة وده ممكن يسمح للمهاجم إنه يستغل المدخلات دي علشان ينفذ أوامر PHP أو حتى أوامر على نظام التشغيل نفسه حسب طبيعة الثغرة وطريقة تنفيذ الكود
خطورة النوع ده من الثغرات بتظهر لما المهاجم يقدر يوصل لتنفيذ أوامر بصلاحيات المستخدم اللي بيشغل خدمة الويب وده ممكن يفتح له الباب للوصول لملفات حساسة أو بيانات المستخدمين أو معلومات قاعدة البيانات وأحيانا ممكن يقدر يسيطر على أجزاء كبيرة من السيرفر
ومن أهم الأسباب اللي ممكن تؤدي لظهور النوع ده من المشاكل استخدام دوال PHP الخطيرة بشكل غير آمن زي eval أو system أو exec بالإضافة إلى عدم التحقق من مدخلات المستخدم والاعتماد على بيانات خارجية في تنفيذ أوامر مباشرة
علشان نحمي الموقع من النوع ده من الثغرات لازم نتجنب تنفيذ مدخلات المستخدم ككود أو أوامر ونستخدم طرق آمنة للتعامل مع البيانات مع تطبيق مبدأ أقل صلاحية ممكنة على حساب تشغيل السيرفر وكمان لازم نراجع الكود بشكل مستمر ونعمل اختبارات أمنية للتأكد إن مفيش مدخلات ممكن تتحول لتنفيذ أوامر غير مصرح بيها
في النهاية لازم نفهم إن أي ثغرة بتسمح بتنفيذ أوامر على السيرفر تعتبر من أخطر أنواع الثغرات لأن المهاجم مش بيكون مجرد شخص بيشوف بيانات مش المفروض يشوفها لكنه ممكن يتحول لشخص قادر ينفذ عمليات على السيرفر نفسه وده بيخلي تأمين مدخلات المستخدم وطريقة تنفيذ الكود من أهم أساسيات حماية تطبيقات PHP

