typo3 macina_banners

Discussion in 'Песочница' started by Star_s, 2 Sep 2010.

  1. Star_s

    Star_s New Member

    Joined:
    4 Feb 2010
    Messages:
    24
    Likes Received:
    2
    Reputations:
    0
    Всем хай.
    Наткнулся на уязвимость в аддоне typo3 macina_banners , есть описание:
    http://typo3.org/teams/security/security-bulletins/typo3-20070608-1/
    Но ни нужных версий аддона (<1.4.1) , ни куска уязвимого кода я так и не нашёл.
    Неужели нигде не осталось старой версии? Может у кого завалялась?
     
  2. x3r0x

    x3r0x New Member

    Joined:
    6 May 2007
    Messages:
    7
    Likes Received:
    1
    Reputations:
    1
    Баг в файле class.tx_macinabanners_pi1.php, а именно в функции main()

    Исправлено в 1.4.1 (кусок кода):
    PHP:
                    if ($record != false
                    {
                        
    // update clicks
                    
                        /* removed SQL injection vulnarable code
                        $clicksquery = 'UPDATE tx_macinabanners_banners SET clicks = clicks+1 WHERE uid = ' . $_GET['uid'];
                        $clicks = mysql(TYPO3_db, $clicksquery);
                        if (mysql_error())
                            t3lib_div::debug(array (mysql_error(), $clicksquery ));
                         */
                         
                        // fiexed SQL injection vulnarable code  : thanx to Stefan Geith
                        
    $GLOBALS['TYPO3_DB']->exec_UPDATEquery('tx_macinabanners_banners','uid = '.intval($this->piVars['banneruid']),array('clicks' => $record['clicks']+1));
                         
                        
    // get URL
                        
    unset ($this->piVars['banneruid']);
                        
    header('Location: ' $this->cObj->getTypoLink_URL($record['url']));
                        exit;
                    }
    Скачать
    macina_banners_1.4.1.t3x

    ... странно, но у меня в 1.4.0 код отличается от того, что закомментирован в 1.4.1

    а именно...
    PHP:
                    if ($record != false) {
                        
    // update clicks
                        
    $clicksquery 'UPDATE tx_macinabanners_banners SET clicks = clicks+1 WHERE uid = ' $this->piVars['banneruid'];
                        
    $clicks mysql(TYPO3_db$clicksquery);
                        if (
    mysql_error())
                            
    t3lib_div::debug(array (mysql_error(), $clicksquery ));
                         
                        
    // t3lib_div::debug($record);
                         
                        // get URL
                        
    unset ($this->piVars['banneruid']);
                        
    header('Location: ' $this->cObj->getTypoLink_URL($record['url']));
                        exit;
                    }
    Скачать
    macina_banners_1.4.0.t3x


    Скрипт распаковки
     
    1 person likes this.