السلام عليكم
عدنا و بدرس جديد من الدورة التعليمية لاختراق المواقع و السيرفرات مقدمة من طرف v4 Team
في هدا الدرس ساتطرق لاكتشاف تغرات السكيول انجكشن Sql Injection
هده التغرة تسمح لنا باستخراج اليوزر و الباسوورد مشفر بمقياس md5 و في بعض الاحيان نستخرج اباس وورد من غير تشفير
و هده غالبا ما تكون في سكريبتات ال asp
راح نبدا بالاسهل
اولا لمعرفة وجود تغره اولا يكفي ان نضع وراء الاستعلام
1 - اضافة الفاصلة الاحادية ' او نضع علامة ناقص قبل الاستعلام متال -1
2 - ';or 1=1
3 - ';or 1=2
4 - ;' and 1=1
5 - ;' and 1=2
6 - ' or (and) 1=1(1=2)
7 - )
8 - (
9 - "
10 - اضافة احرف بعد الارقام في الاستعلامات
مثال : الاستعلام الاصلي يكون id=1234
نعدله ليصبح id=1234v4team
تقول الي بعد ما اعمل هالشي كيف اعرف انو فيه تغرة سكيول اقولك اخطاء السكيول تتغير من سكريبت لسكريبت في بعض السكريبتات
ممكن نحصل هالخطا
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
و تحتو مسار الموقع بالسيرفر
و في بعض الاحيان يكون هدا
You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the
right syntax to use near ''' at line 1
و ممكن ما يكون اي خطا فقط تغير بسيط او صفحه بيضاء المهم راح تلاحضون هالاشياء مع دروس الدوره ان شاء الله
لنبدا مع سكريبت فيه تغره و هي من اكتشافي
ملاحضه طرق اكتشاف تغرات السكيول كتيره و راح اشرح المعروفه و الشائعه
هدا هو السكريبت لنبحت عن تغره
تابعو معي
متل ما لاحضتم طلعنا خطا راح نستغلو و بسرعه راح نجيب الاستتمارراح نعتمد على
order by
تابعو معي
متل ما لاحضتم قمنا بعمل عدد كبير وراء التوردر باي و اعطانا الخطا لكن لما عملنا رقم صغير تغير الخطا نكمل الترقيم
تغير في الرقم خمسه هدا يدل انو الاستتمار بالرقم 4 تابعو
كما تلاحضون طبع الرقم
رقم اتنان الان راح تقولون كيف اطلع الباسورد و ايوز اقولك
بما اننا منزلين السكريبت باللوكال هوست تبعنا يعني سهل سهل سهل كتير نجيب الاستغلال في تواني تابعو معي راح ندخل
اوحة بي اش بي مي ادمن لندخل و نشاهد
كما تلاحضون الجداول نبحت عن جدول اليوزر تابعو معي
الطريقه الربط باستعلام
union select * from phpecms_users where id=1 /*
الان مكان * راح نحط ارقام الاستعلام و كمان اسم اليوزر و الباس مكان الرقم الي انطبع لنا في الاستغلال الاول
ليصبح الاستغلال هكدا
union select 1,username,3,4 from phpecms_users where id=1 /*
كما تلاحضون طبع لنا يوزر الادمن الي هو رقم 1
نغير الاسغلال مشان يجيب لنا الباس
union select 1,password,3,4 from phpecms_users where id=1 /*
متل ما لاحضتم طبع لنا الباس مشفر
و الا هنا انهينا من هدا السكريبت الان نشوف استغلالات اخرى و اخطاء اخرى
التجربه راح تكون على سكريبت اخر و التغره من اكتشافي ايضا
هده التغره بها اخطاء كتيره و ما نقدر نميز وين انطبع الرقم مشان هيك لازم تصحصح و تخدم دكائك
هدا هو السكريبت و الخطا متل ما شفتم
نستعلم بالاوردر باي مشان نسهل علينا التعب
دقق معي
Unknown column '12' in 'order clause'
يعني الرقم كبير على الكلومن
لنصغر الرقم
نبدا من رقم واحد
Unknown column '3' in 'order clause'
متل ما تلاحضون اتغير في تلاتة يعني الاستعلام في 2
تمام الاستعلام يتغير في رقم 3 يعني الاسغلال في الرقم الي قبلو
نصيحه مني دائما لما تكون ترقم الاستعلام لا تستخدم الارقام متتاليه يعني
1,2,3,4,5,6
اعمل متلا
2222,2222,222,2222
كبرنا العدد مشان ما يفلت منا الاستعلام لانو لما يكون اخطاء كتيره صعب نشوف الرقم المطبوع وراح تلاحضون معي ليش في هدا السكريبت
متل ما لاحضتم استطعنا تميز الرقم بسرعه
لنحاول ايجاد الباس و اليوز
تمام متل السكريبت الي قبلو سهل نجيب الاستغلال الان نقوم بطريقه نعرض بها الباس و اليوزر في نفس الصفحه
راح نستعمل concat
متال
concat(uname,0x3a,pass)
0x3a = : مشفره بالهيوردة المعلم
تمام
تابعو معي موقع فيه نفس المشكل
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط] لاحضو الخطا الي ضهر
تمام
انا جايب الاستغلال من قبل شوفو معي
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]متل ما لاحضتم الارقام متغير و كبيره مشان اسهل علي اعرف وين مطبوعه
الان نمر الى خطا اخر
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]متل ما لاحضتم خزعبلات كتيره
تمام جبنا الباس و ايوزر
و الان الي شيئ اخر يعني قليل الي يعرفو
التجربه على موقع حكومي
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]نجرب بالاوردر باي
زي ما لاحضتم الصفحة تصبح بيضاء
كما شفتم الاستعلام في الرقم اعطى خطا في الرقم 4 يعني الاستغلال في الرقم الي قبلو 3
نجرب
و الان الشي الي قلت لكم راح تشوفوه و لازم تاخدو بالكم منو ديما
اغلب تغرت السكيول يتم طبع الرقم في الصفحة بس هون راح يطبع الرقم في رابط اخر وبالضبط وراء رابط المجلد الي به السكريبت
تابعو معي
الان نقوم باضهار بعض المعلومات
متل
user()
database()
version()
تمام webssj@localhost
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]و الان
نجي الى خطا اخر و الموقع حكومي تابعو معي
لا خطا
تابعو شو راح نستخدم الاوردر ايضا
ةما تلاحضون ضهر خطا و تغير محتوى الصفحه يعني الاستعلام في العدد الي قبلو يعني 22
تمام التمام تم طبع الارقام و ما عليك الى تخمين اليوزر و الباس و القاعده
و ان شاء الله راح تكون دروس لهدا في الدوره
ما حبيت احطها بالدرس لان الدرس يتكلم على الاكتشاف بالسكريبتات المتبته بالجهاز
و المواقع حطيتها بس مشان ابين الانواع مشان ما تفلت عليكم التغرات
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط][وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]تحياتي سعد الكردي