Вопрос про сайт... :)

Discussion in 'PHP' started by Melchior, 30 Aug 2006.

  1. Melchior

    Melchior New Member

    Joined:
    8 Jul 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Товарищи! Посогите! :) Я нашел патенциально бажный сайт. После 5 минут бутербродов с кофе удалось получить страницу следующего содержания:

    PHP:
    <?
       global 
    $s;
    $MaxInt = -2147483647.00;
    $TEST 1;
    include(
    "ConnectBD.php"); 

    //--------------------------------------------

    function Time_Ceil($t)
    {
      
    $result trim$t );
      
    $result str_replace"  "" "$result );
      list( 
    $aMonth$aDay$aYear$theRest ) = explode" "$result);
      
    $result date"H:i",  strtotime("$theRest"));
      if(
    $result == '23:59' $result '24:00';
      return 
    $result;
    }

    //--------------------------------------------
    function GetDateFromSybase$aDate $time)
    {
      global 
    $FormatDate;
         
       if(
    $FormatDate) {
                   if (
    $time$result date"m.d.Y H:i:s"strtotime($aDate));
                   else        
    $result date"m.d.Y"strtotime($aDate));   
          }
         else  {
                   if (
    $time$result date"d.m.Y H:i:s"strtotime($aDate));
                   else        
    $result date"d.m.Y"strtotime($aDate));     
         }     
          
        if( 
    $aDate == ''$result ='';
       return 
    $result;
    }
    //--------------------------------------------
    function db_connection()
    {
       global 
    $s;

       Global 
    $precision_currency;   // точность 
       
    Global $CurrencyID;
       Global 
    $CurrencyName;
       Global 
    $TrafficMeasureID;
       
          
    ini_set("mssql.datetimeconvert","0");
       
     if (!
    $Connect
        {
    ////////////////////////
                      
    include("ConnectBD.php");   
    /////////////////////////
        
    }         
     if (!
    $Connect
         {
               
    $num_err=101;
             
    $error="MSSQL: Unable to allocate connection";
             
    ErrorLog($num_err$error);
         }
        else
         {
            
    $sql=" exec CurrencyReportGet";  
                
            
    // получим данные настройки 
              
    $buf get_rows(db_query($sql,$Connect));
              
    $precision_currency $buf[0][Prec];
              
    $CurrencyID $buf[0][BaseCurrencyID];
              
    $CurrencyName $buf[0][BaseCurrencyCode];
              
    $TrafficMeasureID $buf[0][TrafficMeasureID];
         }  
     return 
    $Connect;
    }
    //------------------------------------------------------------
    function ErrorLog($num_err$error
      { 
           
    $current=date('d M,Y G:i:s');
           
    $file=fopen('../error.log','a');
           if (
    $file
             {
              
    fputs($file"$current - $num_err : $error\n");
              
    fclose($file);
             }
      }

    //---------------------------------------------
    function db_query($string,$Connect)
    {
    //  выполнение запросов к базе
    //  $string - SQL запрос
        
    `echo $string >>/www/stat/include/.tmp`;
        
    $result mssql_query($string$Connect);
        return (
    $result);
    }

    function 
    get_rows ($result)
    {
    // формирование списка значений, возвращаемых из базы после выполнения query
    // возвращает массив строк

            
    $row=array();
            
    $row_b=array();
            
    $row_name=array(); // имена полей из базы
            
    $row_real=array(); // 1 если дробное число 0 - если нет 
            
            
    $count_field = @mssql_num_fields($result); // количество полев в ответе

            
    for($i=0;$i<$count_field;$i++)
             {
              
    $obj mssql_fetch_field($result,$i);
              
    $row_name[$i] = $obj->name;            // имена полей
              
    if($obj->type == 'real' || $obj->type == 'money'$row_real[$i]=1
               else  
    $row_real[$i]=0;
             }

            while(
    $row_b = @mssql_fetch_array($result)) 
             {
              for(
    $i=0;$i<$count_field;$i++) // округлим все цифровые поля
               
    {
                if(
    $row_real[$i]) 
                  { 
                  
                      
    $row_b[$i] = str_replace(',','.',$row_b[$i]);
                    
    $row_b[$row_name[$i]] = round($row_b[$i],7);
                    
    settype($row_b[$row_name[$i]],"string");  
                  }
               }
              
    $row[]=$row_b;
             }
            @
    mssql_free_result($result);

            return (
    $row);
    }

    //---------------------------------------------------------------------------
    function db_disconnect ($Connect)
    {
     
    // отменим выбранный язык 
        
    $sql=" exec UnregisterLang";
        
    db_query($sql,$Connect);

    // disconnects from the database
       
    return (mssql_close($Connect));
    }

    //--------------------------------------------------------------------------
    function ClientIDGet()
    {
       global 
    $s;
      global 
    $HTTP_POST_VARS;
      global 
    $HTTP_SESSION_VARS;
      global 
    $FIO

      if ( 
    $HTTP_POST_VARS[login] != '' && $HTTP_POST_VARS[password] != ''
        {
         
    $magicnumber substr(md5(UniqID(GetMyPid())), 020);
         
    $l 1;
         
    $sql "exec ClientIDGet
                               @Login       = '
    $HTTP_POST_VARS[login]',
                               @Password    = '
    $HTTP_POST_VARS[password]',
                               @MagicNumber = '
    $magicnumber'
                   "
    ;
         }
       else
          
    $sql="exec ClientIDGet @MagicNumber = '$HTTP_SESSION_VARS[MagicNumber]' ";

      
    $CC db_connection();
      
    $bufget_rows(db_query($sql,$CC));
      
    db_disconnect($CC);

      if (
    $buf[0][ClientID] && $magicnumber 
        {
          
    session_start();
          if (!
    session_is_registered('MagicNumber'))
           {
            
    session_register("MagicNumber");
            
    $GLOBALS[MagicNumber] = $magicnumber;
            unset(
    $HTTP_POST_VARS[login]);
            unset(
    $HTTP_POST_VARS[password]);
           }
        }
      
    $FIO $buf[0][FIO];
      return(
    $buf[0][ClientID]);
    }
    //-----------------------------------------------------
    function ShablonGet($name)
    {
      
    $fn "shablons/$name.html";
      
    $fd fopen$fn"r" );
      
    $cont fread$fdfilesize$fn ) );
      
    fclose$fd );
      return(
    $cont);
    }

    //---------------------------------------------------------


    // set_time_limit(0);

    //  if (!$SessionNO)   session_start();
    //
    //  $ClientID = ClientIDGet();
    //  if((isset($mod) && ereg('#'.$mod.'#',$auth_list)) && !$ClientID ) $NoAnonimus=1; 
    //    else $NoAnonimus=0;
    //  if ($FIO == '') $FIO= "Анонимус :)";  


    ?>
    Это файл вообще чем нибудь полезен? :) Я там чтото ничего не вижу толкового... Или просто не правильно мыслю? :)
     
    #1 Melchior, 30 Aug 2006
    Last edited by a moderator: 30 Aug 2006
  2. Berlay

    Berlay New Member

    Joined:
    14 May 2006
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Попробуй получить ConnectBD.php темже способом. Мож повезет.
     
  3. Melchior

    Melchior New Member

    Joined:
    8 Jul 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Не выходит... Я уже пробывал... :D
     
  4. Berlay

    Berlay New Member

    Joined:
    14 May 2006
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Попробуй поискать sql инекции
    Фильтрации никакой вроде как.
     
  5. k1b0rg

    k1b0rg Тут может быть ваша реклама.

    Joined:
    30 Jul 2005
    Messages:
    1,182
    Likes Received:
    399
    Reputations:
    479
    логин и пароль не фильтруються