نمونه هایی از آسیب پذیری SQL Injection

ويرايش شده مارس 2020 در آموزش ها

در این مبحث نمونه های واقعی دارای آسیب پذیری SQL Injection در برنامه های گوناگون معرفی و روش های جلوگیری یا prevention آن را معرفی می کنیم.

برچسب خورده:

ديدگاه ها

  • ويرايش شده مارس 2020

    برنامه phpmyadmin برای مدیریت پایگاه داده های MySQL است در نسخه 4.8.6 این برنامه و در قسمت ساخت query ها در فایل central_columns.lib.php آسیب پذیری SQLi در چند بخش از آن مشاهده و گزارش شده است.

    در قسمت اول نام پایگاه داده به صورت مستقیم در query آورده شده است.

        //get current values of $db from central column list
        if ($num == 0) {
            $query = 'SELECT * FROM ' . Util::backquote($central_list_table) . ' '
                . 'WHERE db_name = \'' . $db . '\';';
        } else {
            $query = 'SELECT * FROM ' . Util::backquote($central_list_table) . ' '
                . 'WHERE db_name = \'' . $db . '\' '
                . 'LIMIT ' . $from . ', ' . $num . ';';
        }
    

    همانطور که می دانید یکی از روش های جلوگیری از این آسیب پذیری استفاده از بک اسلش در رشته است.

        //get current values of $db from central column list
        if ($num == 0) {
            $query = 'SELECT * FROM ' . Util::backquote($central_list_table) . ' '
                . 'WHERE db_name = \'' . Util::sqlAddSlashes($db) . '\';';
        } else {
            $query = 'SELECT * FROM ' . Util::backquote($central_list_table) . ' '
                . 'WHERE db_name = \'' . Util::sqlAddSlashes($db) . '\' '
                . 'LIMIT ' . $from . ', ' . $num . ';';
        }
    


جهت ارسال ديدگاه وارد شويد و يا ثبت نام كنيد.