Unserialize в PHP

Discussion in 'Песочница' started by jangle, 21 Dec 2011.

  1. jangle

    jangle Member

    Joined:
    19 Nov 2006
    Messages:
    117
    Likes Received:
    5
    Reputations:
    6
    Уважаемые античатовцы!
    Нужна помощь в реверсинге и объяснения бага Unserialize в PHP. Имею скрипт с такой функцией
    PHP:
            function retrieveFromCacheArray($type,$identity,$validtime 0) {
                if (!
    $this->activated) return false;
                
    $thisFile = empty($type) ? $this->jCacheDir.$identity.".php" $this->jCacheDir.$type."/".$identity.".php";
                if (!empty(
    $validtime)) {
                    
    $lastMod = @filemtime($thisFile);
                    if (
    time() > ($lastMod+($validtime 60))) return false;
                }
                
    $fp = @fopen($thisFile"r");
                if (
    $fp && @flock($fpLOCK_SH)) {
                    
    $contents='';
                    while (
    $data=fread($fp4096)) { $contents .= $data; }
                    
    $contents str_replace("<"."?php exit; ?".">","",$contents);
                    
    fclose($fp);
                    return 
    unserialize($contents);
                }
                @
    fclose($fp);
                return 
    false;
            }
    Пытался разобраться в материалах
    http://www.xakep.ru/post/51883/default.asp
    http://www.xakep.ru/post/52128/default.asp

    но не понимаю куда смотреть - толи на UNSERIALIZE то ли на эту функцию
    PHP:
        function __construct($mask null$prefix="general") {
            
    $yyyymmdd date("Ymd");
            
    $_conf = array('mode' => 0775'timeFormat' => '%Y-%m-%d:%H:%M:%S');
            if (!
    is_dir(VANDA_LOGDIR)) @mkdir(VANDA_LOGDIR0755TRUE);
            
    $_logFile VANDA_LOGDIR.$prefix."_".$yyyymmdd.".log";
            
    $this->_log = &Log::singleton('file'$_logFile$prefix$_conf);
            
            if (isset(
    $mask)) $this->_log->setMask($mask);
        }
    и как они между собой должны быть связаны.
    Вообщем хотелось бы поработать со спецом, который смог бы объяснить и помочь раскрутить эту багу в моем скрипте (если бага там есть).
    Естественно, готов оплатить затраченное время на такой урок (за помощь).
    Если кто готов помочь с этим - пожалуйста в личку скиньте асю или жабу.
    Или давайте разберем пример тут

    Всем огромное спасибо!
     
  2. nikp

    nikp Banned

    Joined:
    19 Sep 2008
    Messages:
    328
    Likes Received:
    591
    Reputations:
    764
    Очень подробно тут
     
  3. jangle

    jangle Member

    Joined:
    19 Nov 2006
    Messages:
    117
    Likes Received:
    5
    Reputations:
    6
    to nikp

    Спасибо, начинаю чуть понимать