الاداة sqlmap لجلب معلومات قواعد البيانات

Mstafa Mowafy

:: Lv5 ::
مدير
26 ديسمبر 2022
228
10
18
الجنس
ذكر
1681656103569.png



أن شاءالله تكونون بأحسن حال.



اليوم راح تنكلم عن اداة خاصة في قواعد البيانات ولجلب جميع البيانات منها هو sqlmap



ماهو sqlmap و كيف يشتغل ومتى نقدر نستخدمة؟



Sqlmap: هو اداة مجهزه لجلب جميع البيانات من القواعد البيانات موجوده بالمواقع. بس بشرط يكون الموقع مصابة بالثغرة Sql Injection



ماهو sql Injection: هي ثغرة لسبب عدم وجود فلتره في كود البرمجة و طبعآ يكون خطأ من المبرمج بكل تأكيد



ويوجد طريقتين الى هي بشكل يدوي او عن طريق الاداة sqlmap كلها تفي الغرض.



مثلآ في الكود نفترض نكتب prepare statement لحماية القواعد البيانات من هذي الثغرة



ولكن لو كتبنا كود قواعد البيانات بشكل مباشر زي كذا



Select * from tablename هنا يكون معرض لثغرة Sql injection

خلينا نكتبها مع اللغة php



$sql = query->(select * from tablename)





بهذي طريقة تكون معرضة الثغرة هذي



الان راح نجرب على موقع مسموح لنا الى هو
نرجو منك تسجيل الدخول او تسجيل لتتمكن من رؤية الرابط




لانه هذا بأمكانك تتعلم عليه لغرض الدراسة وايضآ لفهم طريقة الثغرات بشكل عام.



للعلم المقال هذا فقط لغرض الدراسة و مختبرين أختراق اخلاقي فقط.



المهم نكمل



كيف نعرف الموقع مصاب بالثغرة ولالا؟ بيكون بهذي طريقة







الان نروح نجرب عند parameter تمام



لما يكون في شي اسمه php?id=1 يعني هنا في احتمال وجود ثغرة sql



كل الى عليك تضع علامة (') بعد الرقم مو شرط يكون رقم 1 ممكن يكون 21 ولكن الاهم يكون كذا php?id=1'

بعد وضع العلامة نضغط Enter



هنا راح تلاحظ وجود خطأ بما يعني هذا الموقع مصاب في ثغرة Sql Injection



المهم الان يجي دورنا نستخدم sqlmap



نروح على شاشة الاوامر ثم نضع sqlmap بهذي طريقة









الان كل الى علينا ننسخ الرابط



ثم نضع بهذي طريقة



sqlmap -u url --dbs



أول شي نكتب sqlmap لتنفيذ الامر



بعد كذا نضع -u تعني الرابط



url تعني مكان الرابط زي ماهو موضح بالصوره



بكذا نكتب --dbs تعني جلب جميع البيانات موجوده في قواعد البيانات



الان نشوف النتيجة ايش بيصير.







قبل فقط جاب لنا اسم قواعد البيانات تمام



الان جاب لنا كل قواعد البيانات فيه اسماء الجداول و كل الى يهمنا الان هو users عشان ناخذ users و ايضآ password



بعد كذا نحاول ندخل جدول users عشان نشوف البيانات الى فيها







بكذا نحدد اسم قواعد البيانات و ايضآ اسم الجدول



يعني نكتب زي كذا



sqlmap -u url -D acuart -T users --dump



-D تعني قواعد البيانات

-T تعني جداول الى موجوده في قواعد البيانات



--dump تعني يجلب جميع البيانات الى موجوده في جدول users



بكذا تكون النتيجة.







بعد ماينتهي هذا النتيجة زي ماهو موضح



الاسم مستخدم هو test و الكلمة المرور هو test



لما نجي نسجل دخول بيكون كذا







الان قدرنا نحصل جميع البيانات تبع الموقع و نفرض الحساب هو ادمن



هذا ثغرة sql injection و لازم نعمل له فلتره عشان نتفادى من هذي المشكلة



مع الملاحظة: هذي طريقة مو دائمة تكون شغالة و يجب ان تستخدم بشكل يدوي خاصة لو وصلت مرحلة المتقدمة في كشف الثغرات او bugbounty



ولكن هذي طريقة ممتازة لو حاب تاخذ اختبار pts و تنجح فيها لانه احد الاسئلة يجب انك تخترق و تاخذ قواعد البيانات عشان تبحث عن flags





وأشوفكم على خير...