بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته
اليوم هو اخر درس من دروس المستوى الثاني وهو كيفية معرفة اسماء الجداول والاعمدة الخاصة بقاعدة بيانات الموقع ورح يكون الدرس طويل اعزائي يعني محتاج تفضي حالك سيبك من قصصك ولا توجع راسك ركز هان
طيب اولا عرفنا عدد الاعمدة ثم عرفنا رقم العامود المصاب ثم عرفنا اسم القاعدة واصدارها الان سنعرف اسماء الجداول التي داخل هذه القاعدة بعطيك مثال وسيكون كل الشرح القادم معتمد على هذا المثال يعني اقرا المثال جيدا
وسيكون هناك شرح فيديو بعد انتهاء الدرس
عندك موقع اسمو site.com مركب قاعدة بيانات اسمها Death داخل هذه القاعدة يوجد جدولين جدول اسمو admin وجدول اسمو users داخل جدول الادمن يوجد عامودين واحد name والثاني password
وداخل جدول users يوجد عامودين الاول username والثاني password
الموقع فيه 5 عواميد العامودان 4 , 2 مصابان اول خطوة رح تعملها هي معرفة اسم القاعدة واصدارها
اكيد انت من نفسك رح تقول هذا الاستغلال
- الكود:
-
union+select+1,database(),3,version(),5--
طيب الان عرفنا اسم القاعدة ثاني خطوة هي معرفة اسماء الجداول التي بالقاعدة :
في الدروس السابقة شرحت لكم عن القاعدة information_schema طبعا جداول الموقع تكون موجودة في الجدول columns في العامود table_name وهذا كلو شرحتو الدرس السابق اذا انا اريد ان استخرج اسماء جداول الموقع سيصبح الامر
- الكود:
-
union+select+1,group_concat(table_name),3,4,5+from+information_schema.tables
الامر واضح انا قلت استخرج وجمع ما في داخل العامود table_name من داخل القاعدة information_schema طبعا الامر group_concat اخذناه قبل راجع الدروس وtable_name اخذناها وinformation_schema اتوقع لو انت متابعني بتكون عارفها
طيب الان الموقع سيظهر لنا جميع الجداول الخاصة بالموقع والخاصة بالمستخدم وانا لا تهمني جميع الجداول انا اريد الجداول الخاصة بالمستخدم فقط بمعنى نعم اريد ما بداخل information_schema لكن بشرط ان يكون خاص بقاعدة بيانات المستخدم الي هي Death لا اريد باقي القواعد كيف اعمل هذا الشرط ؟
- الكود:
-
union+select+1,group_concat(table_name),3,4,5+from+
information_schema.tables+where+table_schema+like+Death
نحلل الامر وان شاء الله يكون واضح :
استخرج ما في داخل العامود table_name من قاعدة البيانات information_schema بشرط ان يكون ال table_schema هي Death
طبعا ال table_name داخلها اسماء الجداول وال table_schema داخلها اسماء القواعد فأنا اريد اسماء الجداول جميعها لكن بشرط ان تكون من القاعدة Death التي موجودة في العامود table_schema
وامر الشرط كان where+table_schema+like+Death
بشرط ان يكون ما بداخل العامود table_schema هو Death
طيب الان اذا اجا الموقع ينفذ الامر سيواجه خطأ لن ينفذ الامر لماذا ؟؟
قاعدة البيانات death يجب ان تكون مشفرة بالاستغلال حتى يستقبلها الموقع يعني نفس الامر لكن بدلا من ان نكتب Death سندخل الى هذا الموقع
http://www.waraxe.us/sql-char-encoder.htmlونشفر كلمة Death ثم نضيفها الى الامر ليصبح هكذا :
- الكود:
-
union+select+1,group_concat(table_name),3,4,5+from+
information_schema.tables+where+table_schema+like+0x4465617468
0x4465617468 هذه بعد التشفير , والان سيخرج لك اسماء الجداول التي في القاعدة الي هما admin وusers طيب الان انتهينا من هذه الخطوة
الخطوة الثالثة وهي معرفة اسماء الاعمدة :
طبعا احنا استخرجنا اسماء الجداول الموجودة بقاعدة Death الي هما admin و users
admin عبارة عن جدول فيه اعمدة users ايضا كيف اعرف اسماء هذه الاعمدة ؟
نرجع لقاعدة information_schema نحن عرفنا ان داخلها column_name بالدروس السابقة وهذا يحوي جميع اسماء الاعمدة من ضمنها اسماء اعمدة الجدول admin و users لكن من الصعوبة اذا استخرجنا جميع اسماء الاعمدة ان نعرف لمن تعود هذه الاعمدة لذا سيكون الامر هو كالتالي :
استخرج اسماء الاعمدة التي بالقاعدة information_schema بشرط ان يكون اسم الجدول الموجود في table_name هو admin الان نأتي للاستغلال
- الكود:
-
union+select+1,group_concat(column_name),3,4,5+from+
information_schema.columns+where+table_name+like+0x61646d696e
طبعا بما اني اريد اسماء الاعمدة سيصبح الامر column_name والشرط table_name
واسم الجدول admin مشفر
في حال كنت تريد اسماء الجداول ستكتب information_schema.tables
في حال كنت تريد اسماء الاعمدة ستكتب information_schema.columns
طيب انت الان استخرجت اسماء الاعمدة التي بداخل جدول admin ووجدت انها name و password
باقي عليك اخر خطوة وهي معرفة البيانات الموجودة داخل الاعمدة name و password
طيب انت تريد معرفة ما بداخل العامود name و هذا العامود هو داخل جدول admin كيف رح يكون الامر ؟؟
select name from admin اي استخرج name من admin اذا الاستغلال سيصبح
- الكود:
-
union+select+1,group_concat(name),3,4,5+from+admin
طبعا كلمة admin لن نشفرها
هنا سيخرج لك ما بداخل العامود name واعتقد نفس الشئ مع password وبهذا انت وصلت لاسم مدير الموقع و كلمة مروره (عليم الله انتو مو فاهمين اشي ) لهذا عملت فيديو حملوه من هنا
http://www.mediafire.com/download/ump8q4c4qo6dtly/sql-injection.mp4الى هنا انتهى الدرس اتمنى يكون كل شئ واضح ومفهوم
اي استفسار ساكون حاضر
تحياتي ...Death