death
عدد المساهمات : 15 نقاط : 40624 السٌّمعَة : 1 تاريخ التسجيل : 15/10/2013
| موضوع: 5- قاعدة information_schema الجمعة أكتوبر 25, 2013 12:52 pm | |
| بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته
قبل ان ابدأ الدرس سألخص الدروس السابقة بخطوات بسيطة كمراجعة , يعني انت عندك موقع مصاب كيف تخترقه :
1- معرفة عدد الاعمدة التي بجدول الموقع (order+by) . 2- معرفة ارقام الاعمدة المصابة (union+select) . 3- معرفة اسم القاعدة الخاصة بالموقع واصدارها .
---------------------------------------------------------
اليوم في درسنا سأتحدث عن قاعدة بيانات موجودة في كل موقع وهي information_schema رح يكون الدرس في كلام كثير
هذه القاعدة نظامها مثل اي قاعدة اخرى تأتي تلقائيا مع المستخدم يعني انت لما تيجي تعمل موقع وتعمل قاعدة بيانات خاصة بالموقع سيتم انشاء هذه القاعدة تلقائيا فهذه القاعدة تضم اسماء الجداول , والعواميد , والقواعد الاخرى بالموقع
اخي لو انت حبيت تعمل موقع اول ما تعمل الموقع سيكون هناك قاعدة بيانات اساسية لهذا الموقع وانت ستكون مستخدم هذه القاعدة (مستخدم القاعدة) فأنت لا تملك هذه القاعدة انما هي للموقع وانت تستخدمها, لكن بعد انشاءك للموقع تستطيع انت ان تنشئ قواعد بيانات اخرى غير الاساسية بالموقع فهذا يعني ان قاعدة البيانات الاساسية لها مستخدم (انت) والمستخدم له قواعد بيانات خاصة فيه ... (اتوقع وضحت الفكرة مش لهالدرجة يعني هههههههههه )
يعني انت لو حبيت تخترق موقع اخوي عشان تجيب اسم المدير ورقمه السري لازم تكون عارف اسم العامود واسم الجدول افرض ان اسم العامود الذي يحتوي الاسماء user والعامود الذي يحتوي الارقام السرية password وهاذان العامودان داخل جدول اسمه admin كيف رح تستخرج الاسم وكلمة المرور سهلة جدا انت من نفسك رح تقلي
select user from admin select password from admin
اذا حبيت تدمجهم يصبح الامر
select user , password from admin
اي استخرج اسم المستخدم واستخرج كلمة المرور من جدول admin لكن بالموقع الذي تريد اختراقه انت لا تعلم لا اسم الجداول ولا اسم الاعمدة ولمعرفتهم عليك استخراجهم من قاعدة البيانات information_schema
كيف استخرجهم من هذه القاعدة ؟؟؟ وين مكان البيانات فيها ؟؟!!
هذه القاعدة يوجد فيها 3 جداول هذه الجداول الاول tables وهو يحتوي على اسماء الجداول الموجودة بالموقع والثاني columns يحتوي على اسماء الاعمدة الموجودة بالجداول والثالث schema يحتوي على اسماء قواعد البيانات الخاصة بالمستخدم
طبعا اهم جدول فيهم هو جدول columns هذا الجدول الذي سنستخرج منه البيانات لأنه يحتوي على اسماء الاعمدة التي بالجدوال وكل عامود مكتوب اسم الجدول الي هو فيه وكل جدول مكتوب اسم القاعدة التي ينتمي اليها
لكن استخراجهم لن يكون الان بالدروس القادمة ان شاء الله
طيب نرجع للجدول columns بما انه جدول اذا بالتأكيد يحتوي على اعمدة وهذه الاعمدة تحتوي على بيانات اهم هذه الاعمدة هي 3 عواميد : 1- column_name : هنا يكون اسماء الاعمدة . 2- table_name : هنا يكون اسماء الجداول . 3- table_schema : هنا اسم القاعدة التي تكون للجدول والعامود
وانت تريد استخراج البيانات التي بالعامود column_name وtable_name كيف سيكون الامر ؟؟ انت من نفسك رح تقلي
select column_name,table_name from columns
اي استخرج اسم الاعمدة والجداول من الجدول columns
( الشب بدا يخبص يا رجل اذا في مخ راح ههههههه )
اخواني هذا ملخص سريع اذا ما فهمت الي فوق اقراه جيدا وادعيلي :
قاعدة information schema فيها جدول من ضمن هذه الجداول tables , و columns , وschema اهم جدول هو جدول columns لأنه يحتوي على اسماء الاعمدة والعامود يحتوي على اسم الجدول الي هو فيه والجدول يحتوي على اسم القاعدة التي ينتمي اليها
طيب عندك الجدول columns في عامود column_name وعامود اخر table_name كيف استخرج البيانات التي بالعامودين ؟؟ اتوقع الان وضحت الفكرة تماما ما رح اجاوب انت المفروض عارف الجواب هو نفس الي فوق وعشان ما تزعل عملتلك كمان صورة لجدول columns بتوضح كلامي الى هنا اعزائي انتهى الدرس اتمنى يكون الدرس واضح ومفهوم اي استفسار اسألوني يا جماعة لا تطلع من درس الا وانت فاهم ما فهمت لأن الدروس مكملة بعضها انا مو مستفيد شي اخر اشي الفايدة الك انت تحياتي ... Death | |
|