Форумы Странный хэш на phpBB

Discussion in 'Уязвимости CMS/форумов' started by Azazel, 2 Dec 2005.

  1. Azazel

    Azazel Заведующий всем

    Joined:
    17 Apr 2005
    Messages:
    918
    Likes Received:
    213
    Reputations:
    154
    В общем пытаюсь пробраться на один форум. phpBB+PhpNuke. В принципе пробрался. Могу читать файлы и коннектится\редактировать БД. Но мало мне. А тем более интересно. Что меня интересует это пароли. Загнал в PassPro то что надо, ни хрена не расшифровывает. Загнал свой хэш 18aee3af80e5b6786b8780a00306ab23 (пароль 123) - то же самое. Что думаю такое? Генерирую MD5 на 123 - получаю 202cb962ac59075b964b07152d234b70. Вот те на!
    Вопрос. В каком файле посмотреть как шифруется пас? И где он должен лежать?

    PS: Помню была тема про шифровку в IPB, но я её не нашёл.
     
  2. dim_ok

    dim_ok Elder - Старейшина

    Joined:
    26 Mar 2005
    Messages:
    173
    Likes Received:
    64
    Reputations:
    47
    да мож админы сами забодяжили чтонить, а искать надо в файлах которые работают с кешами в login.php например
     
  3. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    register.php тоже может быть ?
     
  4. 1251soldier

    1251soldier Elder - Старейшина

    Joined:
    13 Oct 2005
    Messages:
    37
    Likes Received:
    14
    Reputations:
    -2
    Mozhet byt eto hash hasha? Takoe byvaet! Vrode by =)
     
  5. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    Не думаю...
     
  6. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    Модернизировать не особо сложно - возможно сделали как в Ipb
    P.s
    Крутую идею подкинули -)) МОд такой надо сотворить.
     
  7. Azazel

    Azazel Заведующий всем

    Joined:
    17 Apr 2005
    Messages:
    918
    Likes Received:
    213
    Reputations:
    154
    Посмотрел пару файлов. Вот один /modules/NS-User/password.php
    PHP:
    <?php
    // File: $Id: password.php,v 1.3xxxxxx larsneo Exp $
    // ----------------------------------------------------------------------
    // POST-NUKE Content Management System
    // Copyright (C) 2001 by the Post-Nuke Development Team.
    // http://www.postnuke.com/
    // ----------------------------------------------------------------------
    // Based on:
    // PHP-NUKE Web Portal System - http://phpnuke.org/
    // Thatware - http://thatware.org/
    // ----------------------------------------------------------------------
    // LICENSE

    // This program is free software; you can redistribute it and/or
    // modify it under the terms of the GNU General Public License (GPL)
    // as published by the Free Software Foundation; either version 2
    // of the License, or (at your option) any later version.

    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.

    // To read the license please visit http://www.gnu.org/copyleft/gpl.html
    // ----------------------------------------------------------------------
    // Original Author of file: hdonner
    // Purpose of file: password generation for new users and lost password
    // ----------------------------------------------------------------------
    /**
     * Please note:
     * 
     * This is a suggestion for a stronger password creation. Define _SYLLABELS
     * in a way you like (you do not need to use uppercase characters). In this
     * example the letters a-z are thre times in the list, so we do not have
     * to many numbers in the password.
     * 
     * _MAKEPASS_LEN defines the length of the password, that will be produced;
     * by default 8. If this suggestion will be taken over the define should be
     * replaced by a configuration var.
     * 
     * The _MAKEPASS_BOX defines the size of the random box. For a good secure
     * it should be 1,000,000 but this is not possible on most of the servers
     * (memory restrictions) and it took a while to create the box. The box
     * contains a random collection of _SYLLABELS with some uppercases (about
     * nearly 20% are uppercase).
     * 
     * I do not see a high risk if _MAKEPASS_BOX will be reduced to a value
     * of 10,000.
     * 
     * hdonner
     */
    define('_SYLLABELS'"*abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789");
    define('_MAKEPASS_LEN'8);
    define('_MAKEPASS_BOX'5000);
    // taken from php.net

    function _make_seed()
    {
        list(
    $usec$sec) = explode(' 'microtime());
        return (float) 
    $sec + ((float) $usec 100000);


    function 
    makePass()
    {
        
    // init some
        
    $result '';
        
    mt_srand(_make_seed());
        
    $syllabels _SYLLABELS;
        
    $len strlen($syllabels) - 1;
        
    $box "";
        
    // create box
        
    for($i 0$i _MAKEPASS_BOX$i++) {
            
    $ch $syllabels[mt_rand(0$len)];
            
    // about 20% upper case letters
            
    if (mt_rand(0$len) % == 1) {
                
    $ch strtoupper($ch);
            } 
            
    // filling up the box with random chars
            
    $box .= $ch;
        }
        
    // now collect password from box
        
    for($i 0$i _MAKEPASS_LEN$i++) {
            
    $result .= $box[mt_rand(0, (_MAKEPASS_BOX 1))];
        }

        return 
    $result;
    }


    define('_MAKEPASS_LENG'15);
    define('_MAKEPASS_BOXX'5000);

    function 
    makeECode(){
        
    // init some
        
    $result '';
        
    mt_srand(_make_seed());
        
    $syllabels _SYLLABELS;
        
    $len strlen($syllabels) - 1;
        
    $box "";
        
    // create box
        
    for($i 0$i _MAKEPASS_BOXX$i++) {
            
    $ch $syllabels[mt_rand(0$len)];
            
    // about 20% upper case letters
            
    if (mt_rand(0$len) % == 1) {
                
    $ch strtoupper($ch);
            }
            
    // filling up the box with random chars
            
    $box .= $ch;
        }
        
    // now collect password from box
        
    for($i 0$i <= _MAKEPASS_LENG$i++) {
            
    $result .= $box[mt_rand(0, (_MAKEPASS_BOXX 1))];
        }

        return 
    $result;
    }

    ?>1
    В остальных про пасы вроде ничего нету.
    Чёрт хреново, что листать диры не могу. Наугад всё.
    Ещё фича: Запрашиваю типа забыл и получаю свой старый 123.
     
    #7 Azazel, 2 Dec 2005
    Last edited: 2 Dec 2005
  8. syntacsis

    syntacsis Elder - Старейшина

    Joined:
    14 Nov 2005
    Messages:
    78
    Likes Received:
    31
    Reputations:
    6
    Azazel, ты по ходу привел код восстановления паролей. Генератор случайных чисел для тех кто забыл пароль.
    К последней версии нюки прилагается старая версия пхпбб. А тебе получается попалась не старая версия, раз хэш не расшифровывается. Значит и админ там не лох, и как пропатчен его форум без кода не узнать. В пхпбб 18 пароль может шифроваться очень многими способами. Модов до фига. Самое распространенное имхо двойное, тройное и далее md5 шифрование хэша. Проверь на своем 123 многократную расшифровку. Но гарантии нет. Некоторые моды пхпбб 18 не шифруют многократно, а добавляют случайные числа в хэш.
    Надо смотреть
    login.рнр
    includes/usercp_register.php
    includes/functions.php
    admin/admin_users.php
    db_update.php
    includes/usercp_sendpasswd.php
    profile.рнр
     
    #8 syntacsis, 3 Dec 2005
    Last edited: 3 Dec 2005
    1 person likes this.