أمن وحماية السيرفراتمواضيع ومقالات

مقال : شرح ثغرة shell injection

تم أرشفة هذا المحتوى


نبذه عن ثغرة shell injection :

هي من الثغرات الخطيرة على مستواى المواقع و تقوم هذا الثغرة بتنفيذ اكواد shell scriptting اي يمكن كتابة امر من اوامر الطرفية في لنكس و تحكم بالسيرفر من قبل هذا لثغرة و يمكن ايضا ان تكون على سيرفرات الوندوز و ايضا يمكن تحويل هذا الثغرة الى ثغرات اخطر و تتم من جلب ملفات اخرى من موقع اخر من خلال الامر “wget” الذي يمكنك في تحميل شيل او فايروس او حتى تحميل ملف جافاسكريبت و تحويلها الى ثغرة xss و ايضا يمكنك جلب ملفات من داخل السيرفر نفسه و ان تقوم باستكشاف محتويات عن الملف الذي يتصل فيها السكريبت مع الداتا بيس و الحصول على اسم الداتابيس و يوزر و الباس للداتابيس و سيطرة على جميع معلومات الموجودة في السيرفر !!!
و انا في نظري ان هذا الثغرة خطيرة جدا ويجب الحذر منها !

معلومات حول الثغرة و استغلالها :
كيف تتم الثغرة ؟ الثغرة دئما تاتي في سكريبتات تقوم بالستدعاء ملفات و عرضها من خلال سكريبت php اي لو لدي موقع يقوم برفع ملفات txt و عرضها لك من دون التحميل فمن المؤكد انك ستستخدم
Screen Shot 2014-05-18 at 10.59.44 PM

هنا انا استخدمت الدالة shell_exec في عرض الملف 
Screen Shot 2014-05-18 at 11.05.34 PM

فهنا انا استدعيت و عرضت ملف txt دون استخدام shell_exec

هذين الكودين يفعلون نفس الشي لكن بطرية مختلفة انا انصح بالثانية لانها تبعدك عن ثغرة shell injection لكن الهدف هنا معرفة ما يكون shell injection

ناخذ مثال على موقع www.example.com هذه هي موقع تقوم برفع ملفات txt و يعطيك رابط لكي تقوم بمشاركتها مع اصدقائك و يمكنهم قرا الملف من دون التحميل !

Screen Shot 2014-05-18 at 11.12.35 PM

كما في الصورة الموقع يسحب اسم الملف على طريقة get و يفتح الملف simple.txt من خلال الكود

 

Screen Shot 2014-05-18 at 11.16.34 PM

 

و هنا يقوم الموقع باخذ اي امر كان و دمجها مع “cat” و تطبيقها

حان وقت الاستغلال :

الاستغلال سهل ، قبل قليل قلنا انها تمزج اي شي مع “cat” اذا نجرب نكتب

Screen Shot 2014-05-18 at 11.20.45 PM

هنا ما فعلناها هي كتابة ” ;simple.txt;ls ” و اذا كنت مبرمج ستعرف انه ” ; ” تعني انتهاء السطر في لغات البرمجة . و للتوضيح الكثر لو قمنا بنسخ ما كتبناه و الصقناها في سكريبت من لغة shell scriptting ستكون كآتي :

Screen Shot 2014-05-18 at 11.24.10 PM

[!] قمت بضافة “wget” ايضا لتعرف انه يمكن اضافة اكثر من امر مثل

Screen Shot 2014-05-18 at 11.26.05 PM

و هنا عرفنا اننا يمكننا كتابة اوامر os commands لنكس او وندوز حسب السيرفر و سيطر عليه !

#الثغرة ايضا موجودة على مستوى برمجة البرامج المكتبية

للتواصل :@RsozDance ; جميع الحقوق محفوظة لموقع iSecur1ty.com © 2014

شايار هاشم

شايار هاشم من كردستان مهوس برمجة و محب للبرمجيات الحرة و احب كل ما يتعلق بالامن المعلوماتي.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى