مخاطر تطبيقات الويب
ااسلام عليكم،
مع التوسع الكبير للشبكة العنكبوتية والإزدياد المطرد لمواقع الويب إنتشرت وبشكل رهيب تطبيقات الويب وهي عبارة عن برامج تثبت على المواقع لتسهيل ادارتها وتسييرها، وتختلف أنواع هذه التطبيقات من تطبيقات دردشة و مدونات و محلات و أنظمة إدارة المحتوى و تطبيقات التصنيفات والأخبار،كما تختلف لغات البرمجة المستخدمة في تصميم هذه التطبيقات، ولأن لكل لغة برمجة هفواتها وثغراتها فإن الأكيد أن هذه التطبيقات ستحوي على ثغرات أمنية ذات درجات خطورة متفاوتة حسب طريقة إستغلالها من طرف المخترقين، في هذا الموضوع سأعدد أشهر الأخطار المنتشرة في تطبيقات الويب مع ذكر أمثلة عنها.
ملاحظة: سأذكر فقط الأخطار ونتائج استغلالها، أما طرق الحماية فسأكتب لها موضوعا منفردا بحول الله وقوته.
- حقن الأس كيو أل (SQL Injection):
تعتبر هذه الثغرة من أكثر الثغرات إنتشار في تطبيقات الويب،
عادة ما تستخدم تطبيقات الويب لغات الاستعلامات المختلفة لعرض البيانات المخزنة في قواعدها، وتستخدم لهذا الغرض عدة لغات برمجية أشهرها MySQL,MSSQL,Oracle وكما قلت سابقا فإن لكل لغة برمجة ثغراتها، ففي لغات الاستعلامات يستطيع المخترقون تغيير الاستعلام المطلوب، فمثلا إن كنت تبحث عن عضو في قاعدة بيانات منتدى، فإن المخترقين يقومون بكتابة أكواد برمجية(باللغة التي تستخدمها قاعدة البيانات المستهدفة) تمكنهم من الوصول إلى معلومات حساسة كأسماء جميع الأعضاء في هذا المنتدى وحتى كلماتهم السرية، والأدهى أنه يمكن الحصول على معلومات مدير هذا المنتدى مما يمكنهم من التحكم الكامل في هذا المنتدى، ونسيت أن أذكر أنه يمكنهم حتى رفع ملفات إلى الخادم(فيروسات أو برامج تحكم عن بعد) مما يتيح لهم التحكم المطلق والتام في هذا الموقع وقد يؤدي الأمر حتى إلى التحكم في الخادم بأكمله اذا كان هذا المخترق متمرسا.
بعض التطبيقات المصابة:
- Joomla Compenent com_joomlub
- رفع ملف للخادم (File Upload):
سهلة الإستعمال وجد خطيرة، الكثير من تطبيقات الويب قد تطلب منك رفع ملف لمعالجته أو صورة لملفك الشخصي، والمشكلة الرئيسية والوحيدة هنا أن هذا التطبيق لا يقوم بمراقبة نوع هذا الملف، فمثلا قد يطلب منك رفع صورتك الشخصية فتقوم برفع برنامج آخر يتيح لك التحكم في الموقع أو حتى الخادم، وهذه الثغرة ناتجة عن سذاجة برمجية لا غير وتجنبها سهل جدا
.
تطبيقات مصابة:
- تنفيذ أوامر عن بعد (Remote command execution):
يستهدف هذا النوع من الثغرات تطبيقات PHP ،توجد في هذه اللغة بعض الدوال التي تتيح تنفيذ بعض الأوامر في الخادم، تستغل هذه الدوال لتنفيذ أوامر تتيح للمخترقين التحكم بالسيرفر عن بعد،
لإطلاع أكثر: How to find RCE in scripts with examples
تطبيقات مصابة:
- تغيير كلمة مرور المدير والنزهة:
ترجع القدرة على تغيير باسوورد الآدمن إلى سهو من طرف المبرمج الذي يعطي هذه الثغرة على طبق من ذهب للمخترقين، أما بالنسبة لثغرة النزهة(سميتها هكذا لإنها تتيح للمخترق بأخذ نزهة بين ملفات الموقع) فهذا راجع لعدم استخذام ملف htaccess (ملف يعيق الوصول لبعص المجلدات الحساسة) بالطريقة المثلى أو عدم إستخدامه على الإطلاق مما يتيح للمخترق الإطلاع على مختلف مجلدات الموقع وملفاته.
تطبيقات مصابة:
- WordPress <= 2.8.3 (حتى الوورد برس لم تسلم من مختلف الثغرات)
- تجاوز الصلاحيات:
بإمكان المستغل لهذه الثغرة أن يحصل على صلاحيات مستخدم أو حتى المدير، بمعرفة اسم المستخدم(أو المدير) فقط، ثم يكتب اسم المستخدم في الخانة المخصصة له ويكتب بعد ذلك كودا برمجيا ليوهم التطبيق بأن الكود البرمجي ينتهي عند اسم المستخدم لذلك لا يهتم التطبيق بالرقم السري فيقوم بمقارنة اسم المستخدم في قاعدة البيانات ثم يعطيه الصلاحيات مباشرة .
تطبيقات مصابة:
- حقن كود برمجي للموقع(html/JavaScript code injection):
هذا النوع من الثغرات أخطر على زوار الموقع منه على الموقع، ويستهدف المواقع التي تتيح للزوار أو مستخدمين ترك أرائهم (منتديات، تعليقات، مدونات) فيقوم المخترق بدل ترك تعليق أو كتابة موضوع، يقوم بزرع كود برمجي(غالبا جافا سكريبت أو html) يتيح له سرقة كوكيز الزائر لتلك الصفحة وبذلك يقوم بالدخول لمختلف الحسابات المفتوحة من طرف الزائر أثناء تصفحه لتلك الصفحة .
تطبيقات مصابة:
لقد تركت عمدا بعض المخاطر لأنها معقدة ويصعب شرحها فذكرت أهم المخاطر وأشهرها، إن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان، أرجو أن يسد هذا الموضوع الحاجيات المعرفية للعرب في مجال أمن تطبيقات الويب، دمتم بود
.