هاست لینوکس

آخرین بسته‌ی MyBB: نسخه‌ی 1.8.27 MyBB منتشر شد


امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
.:::: تاپیک آموزش امنیت و راههای مقابله با هک :::.
#24
برای هش کردن پسورد های یک اسکریپت یا همین مای بی بی نیاز داری بدونی الگوریتم هش اون چطور هست .

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

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

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

مثالی که میتونم بزنم هش وردپرس در مقابل هش عادی 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' ] )

سوال دیگه بود پیام خصوصی در خدمتیم .

با تشکر
زندگی با امنیت زیباست .

مشاوره امنیتی رایگان برای انجمن mybb کاربران عزیز



contact : hosseinxpr@gmail.com
پاسخ
 سپاس شده توسطGh-Moradi (۱۳۹۳/۱/۱۳، ۰۰:۰۸:۴۲ صبح) ، firstboy000 (۱۳۹۳/۲/۵، ۱۳:۵۴:۳۹ عصر)


پیام‌های داخل این موضوع
آسیب پذیری جدید Mybb Ajaxfs Plugin Sql Injection vulnerability - توسط MR.XpR - ۱۳۹۲/۹/۱۰، ۲۳:۰۵:۴۷ عصر
پچ XSS در search.php - توسط MR.XpR - ۱۳۹۲/۱۱/۲۱، ۲۱:۱۴:۴۶ عصر
Extended Useradmininfo MyBB Plugin 1.2.1 - Cross Site - توسط MR.XpR - ۱۳۹۲/۱۱/۲۸، ۱۸:۲۰:۲۷ عصر
RE: .:::: تاپیک آموزش امنیت و راههای مقابله با هک :::. - توسط MR.XpR - ۱۳۹۲/۱۲/۱۴، ۱۱:۴۸:۲۱ صبح
ChangUonDyU Chatbox 3.6.0 - توسط MR.XpR - ۱۳۹۳/۲/۳، ۱۹:۴۹:۱۰ عصر

پرش به انجمن:


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