امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5

راه مقابله با Hک سایت ها 5

#1
طی بررسی های اخیر به خطای زیر رسیدیم :





کد php:

کد:
http://community.mybb.com/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order= 


این خطا در تمامی نسخه ها MYBB قرار دارد و پایه خطا به علت تعریف نشدن صحیح آرایه ها و فانشن mysqli_real_escape_string میباشد .





ابتدا ما این خطا را از لحاظ SQLI تست نمودیم ولی بعد از بررسی دقیق تر متوجه شدیم فقط خطا هست اما جهت امنیت بیشتر بهتر است رفع گردد . سایتهای زیادی این خطا را دارا هستند (باز هم تحت بررسی میباشد بهتر است پچ نمائید ) نمونه :





راه مقابله با Hک سایت ها 5 1



کد:

کد:
Exploit :

search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order=

Demo :

http://community.mybb.com/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order=

Error : 

Warning [2] mysqli_real_escape_string() expects parameter 2 to be string, array given - Line: 874 - File: inc/db_mysqli.php PHP 5.4.19-1~dotdeb.1 (Linux)


کد php:

کد:
Exm :
http://forum.iranphp.org/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order=
http://community.mybb.com/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order=
http://www.mybb.fr/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order= 


کد:

کد:
http://my-bb.ir/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order=
http://my- bb.ir/search.php?action=results&sid[0]=9afaea732cb32f06fa34b1888bd237e2&sortby=&order=


راه حل و روش پچ :



فایل search.php را ویرایش و لاین 59 یا خط زیر را پیدا کنید :





کد:

کد:
$sid = $db->escape_string($mybb->input['sid']);


سپس خط بالا را با کد زیر تعویض نمائید :





کد:

کد:
if(is_array($mybb->input['sid']))
    $sid = $db->escape_string(implode($mybb->input['sid']));
    else
    $sid = $db->escape_string($mybb->input['sid']);


اگر دوستان علاقه داشتند در مورد این فانشن و خطا بیشتر بدانند به لینک زیر مراجعه نمایند :



دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
http://ir2.php.net/mysql_real_escape_string

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
http://ir2.php.net/mysql_escape_string



البته سایت بالا به کاربرانش توصیه کرده است بجای استفاده از فانشن mysql_escape_string از mysql_real_escape_string () استفاده نماید . تفاوت این دو بیشتر در سرعت خواندن از دیتابیس هست . این فانشن امنیتی میباشد که باعث جلوگیری از ورود مقادیری همانند کاراکتر ها \x00, \n, \r, \, ', " and \x1a. و در نهایت جلوگیری از SQL Injection میباشد .



برای هش کردن پسورد های یک اسکریپت یا همین مای بی بی نیاز داری بدونی الگوریتم هش اون چطور هست .




امکان داره یه salt خواص براش تعریف شده باشه و یا حتی پسورد چندین بار هش بشه !





salt یک امکان امنیتی برای برنامه نویسان هست که برای بالا بردن امنیت نگه داری پسورد ها در دیتابیس استفاده میشه .





برنامه نویس میتونه Salt رو در md5 و hash کردن استفاده کنه تا اگر یه روز دیتابیس اون از طریق حملات امنیتی مختلف به دست هکر افتاد به این راحتی ها نتونه کرکش کنه . بعضی از افراد هم هستن که در اسکریپت ها کلا hash استفاده نمیکنن که تکلیف اونا دیگه معلومه راه مقابله با Hک سایت ها 5 1





مثالی که میتونم بزنم هش وردپرس در مقابل هش عادی md5 هست :








کد:

کد:
$P$Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR.




هش عادی :








کد:

کد:
0349e1b82f0e13d8088d6cdfe2b2eb67







این عمل وقتی انجام میشه که یک رشته به نحوه hash کردن اضافه بشه همون salt





همه اینا رو گفتیم که در نهایت بهت بگیم اگر دنبال encryption password در MYBB هستی باید دنبال salt اون باشی :





و جوینده یابنده هست ...








کد:

کد:
class DB
{
    var $connection;
    var $started;

    function start()
    {
        global $MySQL_Host, $MySQL_User, $MySQL_Pass, $MySQL_DB;

        $this->connection = mysql_connect( $MySQL_Host, $MySQL_User,     $MySQL_Pass );
        mysql_select_db( $MySQL_DB, $this->connection );
    }

    function query( $query )
    {
        $result = mysql_query( $query, $this->connection );

        if( $result )
        {
            return mysql_fetch_full_result_array( $result );
        }
        else
        {
            return $result;
        }
    }

    function end()
    {
        mysql_close( $this->connection );
    }

    function isStarted()
    {
        return $started;
    }
}

function mysql_fetch_full_result_array( $result )
{
    $table_result = array();
    $r = 0;

    if( $result === true )
    {
        return $result;
    }

    if( mysql_num_rows( $result ) == 0 )
    {
        return $result;
    }

    while( $row = mysql_fetch_assoc( $result ) )
    {
        $arr_row = array();
        $c = 0;

        while ( $c < mysql_num_fields( $result ) )
        {       
            $col = mysql_fetch_field( $result, $c );   
            $arr_row[ $col -> name ] = $row[ $col -> name ];           
            $c++;
        }   

        $table_result[ $r ] = $arr_row;
        $r++;
    }   

    return $table_result;
}


class Login
{

    function CheckLogin( $username, $password )
    {
        $db = new DB();
        $db->start();

        $query = "SELECT uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".md5(md5($salt).md5($password))."';";

        $result = $db->query( $query );

        $db->end();

        if( $result == false )
            return false;
//             fwrite($fh, $result);
//             fclose($fh);


        if( md5(md5($salt).md5($password)) == $result[ 0 ][ 'password' ] )
        {
            return array( 'uid' => $result[ 0 ][ 'uid' ],
                          'mail' => $result[ 0 ][ 'email' ],
                          'user' => $username
                        );
        }
    }
}




بیشتر از این دیگه اینجا ممنوعه .







کد:

کد:
if( md5(md5($salt).md5($password)) == $result[ 0 ][ 'password' ] )
پاسخ
آگهی


[-]
به اشتراک گذاری/بوکمارک (نمایش همه)
google Facebook cloob Twitter
برای ارسال نظر وارد حساب کاربری خود شوید یا ثبت نام کنید
شما جهت ارسال نظر در مطلب نیازمند عضویت در این انجمن هستید
ایجاد حساب کاربری
ساخت یک حساب کاربری شخصی در انجمن ما. این کار بسیار آسان است!
یا
ورود
از قبل حساب کاربری دارید? از اینجا وارد شوید.

موضوعات مرتبط با این موضوع...
  مقابله با هکر
  مقایسه☒☑ امنیتی▷◀◁وبلاگ؛سایت⚅⚄
  امنیت سایت وردپرس – آیا وردپرس امن است؟ ببینیم داده‌ها چه می‌گویند
  فروش آموزش دیفیس سایت های خارجی
  درخواست نویسندگی در بخش امنیت و روش های مقابله با هـک
  چیزهایی که وب‌سایت‌ ها درباره‌ شما می‌ دانند حذف کنید
  رفع مشکل ویروسی شدن سایت و ریدایرکت شدن سایت به دلیل وجود malware
  سایت‌های خرید و فروش کالاهای دست دوم، مکانی برای کلاهبرداران
  کرک کردن یا شکستن پسورد اکانت سایت ها و انجمن ها
  قوانین بخش "امنیت و روش های مقابله با هـک"

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان