منتدى حرب التتار الرسمي

منتدى حرب التتار الرسمي
 
الرئيسيةاليوميةس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول
صفحة جديدة 1


شاطر | 
 

 سد ثغره ملف password.php

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
mhmood20000
عضو جديد
عضو جديد


عدد المساهمات : 7
نقاط : 19
تاريخ التسجيل : 12/07/2013

مُساهمةموضوع: سد ثغره ملف password.php   الأحد يوليو 14, 2013 1:51 pm

سد ثغره ملف password.php

فقط استبدل الملف بالملف الموجود وشكرا
رابط تحميل الملف
mediafire.com download/cos4d9b827hxbmh/%D8%B3%D8%AF_%D8%AB%D8%BA%D8%B1%D8%A9_password.php.rar





الكود:
 <?php  








class GPage extends gamepage  
{  

    public $pageState = -1;  
    public $playerId = NULL;  

    public function GPage( )  
    {  
        parent::gamepage( );  
        $this->viewFile = "password.phtml";  
        $this->contentCssClass = "activate";  
    }  

    public function load( )  
    {  
        parent::load( );  
        $m = new PasswordModel( );  
        if ( $this->isPost( ) && isset( $_POST['id'] ) && isset( $_POST['email'] ) && is_numeric( $_POST['id'] ) )  
        {  
            $playerId = intval( $_POST['id'] );  
            $email = $_POST['email'];  
            $this->pageState = $m->isPlayerIdHasEmail( $playerId, $email ) ? 3 : 2;  
            if ( $this->pageState == 3 )  
            {  
                $name = $m->getPlayerName( $playerId );  
                $newPassword = substr( md5( dechex( $playerId * mt_rand( 10, 100 ) ) ), mt_rand( 1, 5 ), 7 );  
                $n = dechex( hexdec( $newPassword ) ^ hexdec( substr( md5( $name ), 2, 7 ) ) );  
                $link = WebHelper::getbaseurl( )."password.php?id=".$playerId."&n=".$n."&c=".substr( md5( dechex( $playerId ).$name."666" ), 7, 7 );  
                $to = $email;  
                $from = $this->appConfig['system']['email'];  
                $subject = forget_password_subject;  
                $message = sprintf( forget_password_body, $name, $name, $newPassword, $link, $link );  
                WebHelper::sendmail( $to, $from, $subject, $message );  
            }  
        }  
        else if ( isset( $_GET['id'] ) && is_numeric( $_GET['id'] ) )  
        {  
            $this->playerId = intval( $_GET['id'] );  
            $this->pageState = $m->isPlayerIdExists( $this->playerId ) ? 1 : 0 - 1;  
            if ( isset( $_GET['n'] ) && trim( $_GET['n'] ) != "" && isset( $_GET['c'] ) )  
            {  
                if ( $this->pageState == 1 )  
                {  
                    $name = $m->getPlayerName( $this->playerId );  
                    if ( trim( $_GET['c'] ) == substr( md5( dechex( $this->playerId ).$name."666" ), 7, 7 ) )  
                    {  
                        $newPassword = dechex( hexdec( $_GET['n'] ) ^ hexdec( substr( md5( $name ), 2, 7 ) ) );  
                        $m->setPlayerPassword( $this->playerId, $newPassword );  
                        $this->pageState = 4;  
                    }  
                    else  
                    {  
                        $this->pageState = 5;  
                    }  
                }  
                else  
                {  
                    $this->pageState = 5;  
                }  
            }  
        }  
        $m->dispose( );  
    }  

}  

require( ".".DIRECTORY_SEPARATOR."app".DIRECTORY_SEPARATOR."boot.php" );  
require_once( MODEL_PATH."password.php" );  
$p = new GPage( );  
$p->run( );  
?>
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
سد ثغره ملف password.php
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» 16 April 2009 username and password of nod32
» nod 32 version 4
» شرح أنواع الملفات والبرامج التي تقوم بتشغيلها
» All Recivers Master Code

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى حرب التتار الرسمي :: اقسام حرب التتار :: »»╣{قسم شروحات وسكربتات حرب التتار }╠««-
انتقل الى: