You are here:home»Hacking»مفهوم اختراق قواعد البيانات من الصفر للاحتراف

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

On September 1, 2009, in Hacking, by securitymind
    الباسورد الخاص بيوزر او بالروت وان عملية الحصول على هذا الباسورد هي مايسمى اختراق بمفهومنا نحن اما بالنسبة للمحترفين فهذا نوع فقط وهذا النوع يطلق عليه اختراق قواعد البيانات هذه الاخيرة اقصد قواعد البيانات اصبحت وفي ظرف قصير جدا رائجة ومستعملة الى حد لا يتصور فهي تستعمل في الابناك وفي المؤسسات كلها ولم تكتفي بهذا القدر بل انتقلت الى النت ايضا ولكن لو استخدمنا عقلنا جيدا فسوف نقول ما الخطر في وجودها انها غير قابلة للوصول من طرف المخترق صحيح انها غير قابلة للوصول ولكنها مرتبطة بالسيرفر ولقد كان من الضروري ان يتم هذا الارتباط حتى تقدم خدمات مختلفة لكل زائر حسب صلاحيته وطلبه يعني هي غير قابلة للوصول ولكنها مرتبطة بالسيرفر مما يؤدي بنا الى نتيجة وهي انه يمكن اختراقها لان السيرفر قابل للاختراق لحل هذا المشكل او على الاقل التخفيف من خطورته يتم تزويد قواعد البيانات بانظمة تشفير هذه الاخيرة قد لا تكون صالحة دائما عندما يتعلق الامر بثغرات buffer وبالطبع هناك عدة انواع من قواعد البيانات اشهرها oracle و Mysql وبالطبع عندما ادكر كلمة MySql فالكل يتجه نحو الحقن او ما يعرف ب Sql Injection والدي بدوره طريقة لاختراق قواعد البيانات ومبداه بسيط فهو يعتمد على تنفيد استعلام خاطئ دعونا ننتقل الى العملي وقبل ان انتقل اريد شرح كيف يتم هذا وسوف ناخد منتدانا كمثال فانت لما تقوم بكتابة user و password تضغط بعد دلك على زر دخول ولكن هذا الظاهري فقط اما الباطن فهو معقد بعض الشيء فانت لما تقوم بارسال معلومات يقوم باستقبالها مايعرف بخادم قواعد البيانات وهو يبدو من اسمه عمله فخادم قواعد البيانات لا يحتوي على قاعدة بيانات واحدة بل على عدة قواعد وبالتالي فمهمته تتلخص في توجيهك نحو القاعدة المناسبة لك الان وبعد ان

    وصل طلبك الى القاعدة دعونا نرى كيف يصل فالطلب يصل هكذا
    SELECT user WHERE n a m e = '(n a m e)' AND password = '(pass hashed)';

    دعوني اشرح المثال السابق باللغة العربية فنحن نقول اختر user الدي اسمه هو كدا والباس الخاص به هو كدا مع كون الباس يكون مشفرا فادا وجده فهو يرد بدلك وبالتالي نتمكن من الدخول اما ادا لم يجده فيرد ان هناك خطا
    سوف اضع مثال فلنفترض ان شخصا تحت اسم xxx وله باس هو abc فعند
    SELECT user WHERE n a m e = 'xxx' AND password = '900150983cd24fb0d6963f7d28e17f72';
    بالطبع بما ان الشخص موجود اصلا في قاعدة البيانات سوف يتمكن من الدخول

    الان كيف يقوم الهكر بشن هجومه

    لنفترض انني اردت ان ادخل محل هذا الشخص فانظروا الى المنهج الدي سوف اتبعه ففي خانة الاسم ساكتب xxx وفي خانة password ساكتب
    '' or 1=1--
    علامة تنصيص واحدة ولكنها لا تظهر لهذا اظطررت الى كتابة اثنان حتى تظهر

    لنرى اولا كيف يكون الباس ان الباس واقصد به الباسورد يكون بين علامتي تنصيص هكدا ‘الباس’ وبما اننا ارسلنا هذا الباس
    password = ' '

    يعني اصبح فارغا ولكن لو كنا ارسنا علامة التنصيص وحدها لما نجح الامر لان user دو الاسم xxx ليس له password فارغ فنحن اضفنا عبارة
    or 1=1--

    يعني عندما سيتم تنفيد الطلب فانه سوف يفعل التالي سوف يبحث عن اسم xxx فسيجده ثم سيبحث هل باسورد الخاص به منعدم او 1=1 يعني نجاح العملية رهين باحداهما اما الباسورد منعدم او 1=1 وبما ان 1=1 فانه سيرد علينا كما لو اننا قمنا بتسجيل الدخول وقد يسالني البعض اين دهب التشفير الدي كان في هذا الاستعلام
    SELECT user WHERE n a m e = 'xxx' AND password = ' ' OR 1=1 -- '5b7b54661f6acc1d3754f7b3b234f0c3';
    ف اقول له ببساطة نحن لما ارسلنا الباسورد ارسلناه هكدا
    '' or 1=1--

    هناك علامة تنصيص واحدة ولكنها لا تظهر لهذا اظطررت الى كتابة اثنان حتى تظهر
    فعلامتا الناقص — تفيدان في جعل ما بعدهما تعليق فقط وبالتالي فان هدا الاستعلام
    SELECT user WHERE n a m e = 'xxx' AND password = ' ' OR 1=1 -- '5b7b54661f6acc1d3754f7b3b234f0c3';
    مكافئ لهذا الاستعلام
    SELECT user WHERE n a m e = 'xxx' AND password = ' ' OR 1=1
    وبالتالي يتم الاختراق دون الحاجة الى معرفة الباسورد وبالطبع هذه طريقة من بين عدة طرق وقد لا تنجح هذه الطريقة ادا اتخدت الاجرائات الصحيحة لمنعها حيث يكفي التاكد من الباسورد المرسل لمنع اي حقن .

    هذة كل الي اعرفة ..واتمنى ان يكون واضح

    احترامي

    Security-Mind

 

2 Responses » to “مفهوم اختراق قواعد البيانات من الصفر للاحتراف”

  1. Mr WordPress says:

    Hi, this is a comment.To delete a comment, just log in, and view the posts’ comments, there you will have the option to edit or delete them.

  2. s3curi6ym1nd says:

    why.?