- 26 ديسمبر 2022
- 228
- 10
- 18
- الجنس
- ذكر
أن شاءالله تكونون بأحسن حال.
اليوم راح تنكلم عن اداة خاصة في قواعد البيانات ولجلب جميع البيانات منها هو 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
وأشوفكم على خير...