والدرس بعنوان: شرح مبدأ ثغرات sql injection
نبدأ على بركة الله
وضحنا سابقاً ما هي ال mysql ، اتمنى مراجعة الدرس السابق
كيف تعمل ثغرات ال sql injection ??
لدينا قاعدة بيانات واسمها aljyyosh.com
وداخلها جدول اسمها asdely.net
وداخل الجدول يوجد اعمده اللي هي columns
ويوجد داخل الجدول 5 سجيلات ، طبعا السجلات هي البيانات اللي تم ادخالها على القاعدة
وهذه صوره توضح المقصود
اللون الاخضر هذا عامود اللي هو column
يعني لما انت تنفذ امر وتطلب فقط العامود اللي اسمه name
رح يطلع لك كل السجلات لكن فقط الأسماء ، يعني رح يطلع لك ASDELY , She!! Access ,Black.jaguar الخ...
قواعد البيانات لها إستعلامات ، مثلها كمثل اي لغة برمجة ، يعني انت عندك بيانات بقاعدة بيانات كيف بدك تستخرج البيانات اللي فيها ؟،
ببساطه ننفذ أمر(استعلام) استخراج البيانات ونحدد البيانات المراد استخراجها ويتم الإستخراج...
وبقواعد البيانات وبالتحديد نوع قواعد البيانات mysql اللي قلنا انه الشرح رح يكون عليها.! هنالك الكثير من الاستعلامات ومنها
select وهي استخراج البيانات ، وهي اللي رح تهمنا اكثر شيء في هذا النوع من الثغرات
update وهي لتعديل على البيانات ، غير مهمة بالنسبه لنا في استغلال ثغرات ال sql injection
insert وهي لإدخال البيانات ، ما بتهمنا هذه
union وهذه لدمج إستعلام داخل استعلام اخر او لدمج بيانات بأكثر من جدول ، وطبعا هذه و select رح يكون محور كلامنا عنها
والعديد العديد من الإستعلامات
خلينا نيجي للمثال اللي فوق!
عندنا قاعدة اسمها aljyyosh.com
وداخلها جدول اسمه asdely.net
وداخل هاذا الجدول يوجد عمودان
name و site ويوجد داخلهم بعض البيانات (السجلات)
كما في الصوره التاليه
طيب كيف رح ننفذ الأمر او الإستعلام حتى نستخرج هذه البيانات في ال mysql
رح يكون الامر كالتالي
select Name,site from asdely.net
نشرح الامر
اول شي قلنا له select يعني اختار او استخرج لنا ، وهون حددنا له انه بدنا نستخرج بيانات مش نعدل او نضيف
ثم وضعنا name,site وهيك صرنا قايلين له استخرج العامود name و site
لهون الامر لا يكفي ، فيجب علينا ان ان نحدد من اي جدول يحضر الاعمدة فقلنا له from اي من
ثم حددنا اسم الجدول وهوasdely.net
جميع الحقوق محفوظة لمنتديات جيوش الهكرز و asdely.net
ولو اردنا فقط نستخرج بيانات من العمود اللي اسمه site
يصبح الامر هكذا
select site from asdely.net
طيب لو عندنا جدولين
واحد اسمه asdely.net
والاخر ASDELY-ScOrPiOn
داخل قاعده اسمها aljyyosh.com
و asdely.net فيه عامود اسمه site
و ASDELY-ScOrPiOn فيه عامود اسمه age
ونريد ان نستخرج البيانات من الجدولين ، كيف تصير هذه ؟!
اكيد اذا مركزين معي رح تقولو نستخدم union
طيب كيف نستخدم union ؟؟
نستخرج البيانات بهاذا الشكل
select site from asdely.net union select name from ASDELY-ScOrPiOn
sql injection
طبعا هاذا اللي كان فوق هو اساسيات او مقدمة في لغة ال mysql وكان يجب علينا ان نفهما قبل ان نكمل مسيرتنا في دورة الحقن العجيبه طبعا على جيوش الهكرز
وطبعا لا يكفي درس او درسين او 10 للتكلم عن mysql ، فهي افضل قواعد بيانات واكثرها انتشاراً
الخميس نوفمبر 29, 2012 12:38 pm من طرف Admin
» حصرى عملاق الحماية Avira 2013 13.0.0.2681 Final فى اصدارته الانتى فيرس والانترنت سيكورتى
الخميس سبتمبر 27, 2012 5:33 pm من طرف Admin
» حدث في مثل هذا اليوم 2 فبراير
الخميس سبتمبر 27, 2012 4:01 pm من طرف Admin
» حدث في مثل هذا اليوم 2/1 الاول من فبراير
الخميس سبتمبر 27, 2012 3:57 pm من طرف Admin
» حدث فى مثل هذا اليوم 31 يناير
الخميس سبتمبر 27, 2012 3:55 pm من طرف Admin
» حدث فى مثل هذا اليوم 30 يناير
الخميس سبتمبر 27, 2012 3:53 pm من طرف Admin
» حدث في مثل هذا اليوم 29 يناير
الخميس سبتمبر 27, 2012 3:51 pm من طرف Admin
» حدث فى مثل هذا اليوم28 يناير
الخميس سبتمبر 27, 2012 3:49 pm من طرف Admin
» حدث فى مثل هذا اليوم 27 يناير
الخميس سبتمبر 27, 2012 3:47 pm من طرف Admin