PDA

Просмотр полной версии : Странный хэш на phpBB


Azazel
02.12.2005, 20:46
В общем пытаюсь пробраться на один форум. phpBB+PhpNuke. В принципе пробрался. Могу читать файлы и коннектится\редактировать БД. Но мало мне. А тем более интересно. Что меня интересует это пароли. Загнал в PassPro то что надо, ни хрена не расшифровывает. Загнал свой хэш 18aee3af80e5b6786b8780a00306ab23 (пароль 123) - то же самое. Что думаю такое? Генерирую MD5 на 123 - получаю 202cb962ac59075b964b07152d234b70. Вот те на!
Вопрос. В каком файле посмотреть как шифруется пас? И где он должен лежать?

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

dim_ok
02.12.2005, 21:14
да мож админы сами забодяжили чтонить, а искать надо в файлах которые работают с кешами в login.php например

D1mOn
02.12.2005, 22:02
register.php тоже может быть ?

1251soldier
03.12.2005, 00:03
Mozhet byt eto hash hasha? Takoe byvaet! Vrode by =)

D1mOn
03.12.2005, 00:08
Не думаю...

GreenBear
03.12.2005, 00:16
Модернизировать не особо сложно - возможно сделали как в Ipb
P.s
Крутую идею подкинули -)) МОд такой надо сотворить.

Azazel
03.12.2005, 00:30
Посмотрел пару файлов. Вот один /modules/NS-User/password.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', "*abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw xyzabcdefghijklmnopqrstuvwxyz0123456789");
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) % 5 == 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) % 5 == 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.

syntacsis
03.12.2005, 06:58
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.рнр