الحصول علي صلاحيات Shell من الثغرة الخطيرة Sql Injection

الحصول علي صلاحيات Shell من ثغرة Sql Injection

0 تعليق yes 11-نوفمبر-2016 محمد فتحي

الحصول علي صلاحيات Shell من ثغرة Sql Injection

الحصول علي صلاحيات Shell من ثغرة Sql Injection

في هذة المقالة سوف نتجة لتطوير ثغرة Sql Injection للحصول علي Shell علي الموقع الذي نقوم بإختبار إختراقه بشكل عام وسوف نقوم بالتجربة علي pentesterlab VM المتخصصة لإختبار الإختراق لهذة الفكرة وهي مصابة بالثغرات و الغرض منها التعلم فقط.





سوف نذهب الي المكينة التي نقوم بإختبار الاختراق عليها

اختبار ثغرة sql injection على pentesterlab VM

اختبار اختراق ثغرة sql injection على pentesterlab VM

والان سوف نتجه الي عنوان IP الخاص بنا “10.211.55.6”

التوجه الى الـ ip الخاص بنا

التوجه الى الـ ip الخاص بنا

التحدي عبارة عن موقع به مدونة و العديد من التفاصيل الخاصة بكتاب و اقسام بالموقع بشكل عام، الان سوف نبحث في الاقسام علي احد الصفحات المصابة بـ SQL Injection

البحث عن صفحة مصابة فى الموقع على ثغرة sql injection

البحث عن صفحة مصابة فى الموقع على ثغرة sql injection

بعد دخولنا علي احدي الصفحات، قد كتبت ” ‘ ” لإكتشاف وجود ثغرة Sql Injection ام لا في الموقع المصاب والان ظهر لنا الخطأ بان الصفحة مصابة بهذة الثغرة, اذاً يمكننا استغلالها وسوف نذهب إلي اداة SQLMap لاستغلال هذة الثغرة.

استغلال ثغرة sql injection بإستخدام اداه SQLMap

استغلال ثغرة sql injection بإستخدام اداه SQLMap

الان وجدنا الموقع مصاب و يوجد قاعدة بيانات باسم ” photoblog ” يمكننا استغلالها و سحب الجدول منها لمعرفة صفحة المدير . 

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

سحب قاعدة بيانات الموقع المصاب بثغرة sql injection

سحب قاعدة بيانات الموقع

الان وجدنا الثلاثة جداول Categories , users , Pictures و يعتبر Users هو اكثرهم اهمية لانه يوجد بية بيانات المستخدمين للموقع ، الان سوف نسحب الجدول users و نري ما بداخله

سحب جدول اليوزر من الموقع المصاب بثغرة sql injection

سجب جدول اليوزر

يظهر ان داخل هذة القواعد ٣ عواميد بإسم id, login, password بالفعل يمكننا ان نجد بداخلهم الاسم و الرقم السري للمدير وسوف نحاول سحبهم بكتابة الامر التالي :-

 

الحصول على الأدمن و الباسوورد من الموقع المصاب بثغرة Sql injection

الحصول على الأدمن و الباسوورد

الان قد حصلنا علي الاسم و هو admin و الباسورد بعد فك MD5 Hash هو P4ssw0rd

سوف نجرب كتابة الاسم و الرقم السري في لوحة تحكم الموقع المصاب

ادخال اسم المستخدم و كلمة المرور

ادخال اسم المستخدم و كلمة المرور

 

بعد كتابة الاسم و الرقم السري ، الان نحن داخل لوحة التحكم

بعد الدخول الى قاعدة البيانات الخاصة بالموقع المصاب بثغرة sql injection

بعد الدخول الى قاعدة البيانات الخاصة بالموقع

يوجد داخل لوحة التحكم مكان اضافة صور و التحكم فيها و تسجيل الدخول.

و ماذا بعد ؟!






في حالة تواجد مركز رفع من الممكن ان يكن الموقع مصاب بـ Unrestricted File Upload او ان المبرمج لم يقم بتحديد نوع الملفات المرفوعة ويمكننا كمخترقين من رفع اي شئ علي الموقع.

سوف نجرب برفع شيل وليكن WSO Shell و هو متاح علي موقع Github

محوالة رفع شيل WSO

محوالة رفع شيل WSO للحصول على الصلاحيات الكاملة

سوف نجرب الان عملية الرفع و نشاهد النتيجة .. !

رفض الموقع رفع الملفات ذات صيغة PHP

رفض الموقع رفع الملفات ذات صيغة PHP

لقد رفض رفع الملفات بصيغة PHP ولكن سوف نجرب الملفات التنفيذية الاخري مثل PHP3 من الممكن ان يتم تخطيها من الموقع

محاولة رفع الشيل بصيغة PHP3

محاولة رفع الشيل بصيغة PHP3

تم الان رفع الملف بنجاح سوف نذهب الي الصورة و نضغط عليها ونسحب الرابط لنجربة

رفع الشيل بنجاح على الموقع المصاب بثغرة sql injection

رفع الشيل بنجاح على الموقع

تم بالفعل رفع ملف Shell علي الموقع يمكننا من خلاله التحكم في كافة الملفات المرفوعة علي الموقع و ايضا تنفيذ الاوامر علي الموقع و اتصال عكسي مع الموقع وغيرها من اشياء اخري !

سوف نجرب الان استعراض ملف etc/passwd

استعراض ملف passwd

استعراض ملف passwd

 

الان ! انتهينا من الشرح و تخطي رفع الملفات ..





 

المراجع :-

https://isos.pentesterlab.com/from_sqli_to_shell_i386.iso

https://isos.pentesterlab.com/from_sqli_to_shell_i386.iso

sirmatrixpage

مبرمج و مؤسس مجتمع سيكونتي , اعمل كامطور مواقع بلغة PHP و اعمل كمطور تطبيقات بـ Python باحث امني في تطبيقات الويب و مسجل بأكثر من قائمة شرف لعدد من الشركات حول العالم مثل " Zendesk , Apple , Sony , Yahoo , Microsoft " وغيرها من الشركات العالمية

إضافة تعليق