مقال : شرح ثغرة shell injection
نبذه عن ثغرة shell injection :
هي من الثغرات الخطيرة على مستواى المواقع و تقوم هذا الثغرة بتنفيذ اكواد shell scriptting اي يمكن كتابة امر من اوامر الطرفية في لنكس و تحكم بالسيرفر من قبل هذا لثغرة و يمكن ايضا ان تكون على سيرفرات الوندوز و ايضا يمكن تحويل هذا الثغرة الى ثغرات اخطر و تتم من جلب ملفات اخرى من موقع اخر من خلال الامر “wget” الذي يمكنك في تحميل شيل او فايروس او حتى تحميل ملف جافاسكريبت و تحويلها الى ثغرة xss و ايضا يمكنك جلب ملفات من داخل السيرفر نفسه و ان تقوم باستكشاف محتويات عن الملف الذي يتصل فيها السكريبت مع الداتا بيس و الحصول على اسم الداتابيس و يوزر و الباس للداتابيس و سيطرة على جميع معلومات الموجودة في السيرفر !!!
و انا في نظري ان هذا الثغرة خطيرة جدا ويجب الحذر منها !
معلومات حول الثغرة و استغلالها :
كيف تتم الثغرة ؟ الثغرة دئما تاتي في سكريبتات تقوم بالستدعاء ملفات و عرضها من خلال سكريبت php اي لو لدي موقع يقوم برفع ملفات txt و عرضها لك من دون التحميل فمن المؤكد انك ستستخدم
هنا انا استخدمت الدالة shell_exec في عرض الملف
فهنا انا استدعيت و عرضت ملف txt دون استخدام shell_exec
هذين الكودين يفعلون نفس الشي لكن بطرية مختلفة انا انصح بالثانية لانها تبعدك عن ثغرة shell injection لكن الهدف هنا معرفة ما يكون shell injection
ناخذ مثال على موقع www.example.com هذه هي موقع تقوم برفع ملفات txt و يعطيك رابط لكي تقوم بمشاركتها مع اصدقائك و يمكنهم قرا الملف من دون التحميل !
كما في الصورة الموقع يسحب اسم الملف على طريقة get و يفتح الملف simple.txt من خلال الكود
و هنا يقوم الموقع باخذ اي امر كان و دمجها مع “cat” و تطبيقها
حان وقت الاستغلال :
الاستغلال سهل ، قبل قليل قلنا انها تمزج اي شي مع “cat” اذا نجرب نكتب
هنا ما فعلناها هي كتابة ” ;simple.txt;ls ” و اذا كنت مبرمج ستعرف انه ” ; ” تعني انتهاء السطر في لغات البرمجة . و للتوضيح الكثر لو قمنا بنسخ ما كتبناه و الصقناها في سكريبت من لغة shell scriptting ستكون كآتي :
[!] قمت بضافة “wget” ايضا لتعرف انه يمكن اضافة اكثر من امر مثل
و هنا عرفنا اننا يمكننا كتابة اوامر os commands لنكس او وندوز حسب السيرفر و سيطر عليه !
#الثغرة ايضا موجودة على مستوى برمجة البرامج المكتبية
للتواصل :@RsozDance ; جميع الحقوق محفوظة لموقع iSecur1ty.com © 2014