Admin Admin
عدد المساهمات : 128 نقاط : 385 تاريخ التسجيل : 05/03/2014 العمر : 30 الموقع : العراق
| موضوع: [الدرس التاسع] شرح إستخراج اسماء الجداول والأعمده الجمعة مارس 14, 2014 11:26 am | |
| دورة SQL injection , sql injection , دورة الحقن , شرح دورة الحقن , شرح sql injection , شرح دورة sql injection , الدرس التاسع من دورة sql injection الحقن ، دورة الحقن , شرح حقن القواعد ، استخراج بيانات الأعمده بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته درس اليوم تطبيق للدرس السابع! ، وفي هذا الدرس رح اقوم بإستخراج معلومات من قاعدة بيانات! الدرس ثقيل شويّ وصعب على المبتدأين وعلى الاشخاص اللي ما تابعوا الدروس السابقه بحق ، على شان هيك شرحته كتابه + فيديو على السريع للتوضيح! ملاحظة:- قبل استخدام ال information_schema يجب فحص اصدار قواعد البيانات للسيرفر ، لانه هذه الخدمه غير متوفره بالإصدارات القديمه مثل الإصدار الرابع اذا طلع الإصدار هو الإصدار الخامس معناتوا بتقدر تطبق الطريقه لإستخراج اصدار قواعد البيانات في السيرفر ننفذ الامر version() راجع الدرس السادس! لانه ضروري طيب...! ، خطوات العمل في الدرس في هذا الدرس رح نستخرج جداول وحقول في احدى القواعد على احدى المواقع والخطوات ستكون كالتالي 1 - رح نفحص اذا الإصدار حق قواعد البيانات هو الإصدار الخامس ام لا >>> اذا طلع اقل من 5 معناتو الطريقة ما بتنفع على السيرفر ، ملاحظة: معظم السيرفرات ويمكن 90% منها تستعمل اصدار الخامس! 2 - رح نستخرج اسم قاعدة البيانات حتى نستخرج منها الجداول 3 - رح نستخرج الجداول ، ونختار احد الجداول ونستخرج الحقول اللي داخلها! رح يكون تطبيقنا على هذا الموقع طبعا تم شرح الدرس فيديو كمان حتى توضح الصوره! طيب ظهر لدينا انه الاعمده المصابه في الموقع هي 3 و 4 و 5 طيب نجرب نستخرج اصدار قاعدة البيانات! عن طريق الامر version() ، يصير الرابط كالتالي رح يظهر لنا الإصدار ، والاصدار في هذا السيرفر هو 5.0.92-community وهو الإصدار الخامس ويعني الطريقة شغاله على هذا الموقع!
طيب الحين نبي نستخرج اسم قاعدة البيانات في السيرفر ، نضع الامر هذا database() مكان احد الأعمده المصابه ، ويصبح الامر كالتالي
رح يظهر لنا اسم قاعدة البيانات للموقع ، وطلع عندنا هذا katif_main طيب الحين نبي نسخرج جداول القاعدة طيب الان نستخرج الجداول والامر كالتالي طيب group_concat بعتقد لازم صرتوا تعرفوها! ، راجع الدرس السابق (الثامن) طيب table_name وش تعني؟! ، اذا مو متذكر راجع الدرس السابع ورح تتذكر انه يوجد قاعدة اسمها information_schema وداخلها جدول اسمه tables وداخله يوجد عامود اسمه table_name وهذا رابط الدرس http://www.aljyyosh.com/vb/showthread.php?t=29707 طيب وش تعني from+information_schema.tables وهذه وضحت للامر وين موجود table_name اللي طلبنا إستخراجه وهو من القاعدة اللي اسمها information_schema ثم الجدول اللي داخلها اللي اسمه tables طيب بالأمر اللي فوق طلع لنا اسماء الجداول ، طيب بس بالامر اللي فوق بطلع لنا كل اسماء الجداول لكل القواعد البيانات وبطلع معنا اسماء جداول قاعدة information_schema وهاي القاعدة جداولها كثيره وما بهمنا نستخرجهم كلهم ، على شان هيك بدنا نحدد يطلع الجداول لأي قاعدة ونحن نريده ان يطلع لنا الجداول حق القاعدة katif_main اللي استخرجنا في اول الشرح رح نعدل على الامر ويصير هيك رح نوضح الامر! ، طبعا القسم الاول من الامر واضح ، اما القسم الثاني وهو where+table_schema+like+0x6b617469665f6d61696e في الدرس الاول شرحنا عن ال where ، وهين احنا عملنا شرط ، وقلنا له اسخرج اسماء الجداول من الجدول اللي اسمه tables الموجود في القاعدة information_schema عندما يكون table_schema يساوي 0x6b617469665f6d61696e و table_schema وهي العامود اللي فيه اسم القاعدة حق الجدول هذه 0x6b617469665f6d61696e تعني اسم القاعدة واللي هي katif_main ، بس احنى هون قمنا بتشفيرها البعض يسأل كيف شفرتها! ، بقول له بسيطه جدا بإمكانك تشفيرها عن طريق برامج او عن طريق مواقع او عن طريق اداة خاصه ، بس انا رح اشفرها عن طريق احد المواقع ندخل الى الموقع http://www.waraxe.us/sql-char-encoder.html وفي المربع الأول الكبير نكتب الكلمة الذي تريد تشفيرها وهي katif_main ومن ثم تضغط Encode Now! بعدها سيظهر في المربع MySql hex-encoded string التشفير حق الكلمه هيك صار واضح الامر ، طيب طلع عندنا اسم الجداول ، واحنى نختار جدول معيّن ، حتى نستخرج القواعد منه، نختار مثلا جدول واللي هو active_users طيب نشفره في البداية عن طريق الموقع ، ثم نعدل الامر ، جرب في البداية عدله لوحدك واستخرج الاعمده اللي داخله ، واذا ما عرفت شوف الأمر التالي | |
|