Шифрование паролей (Encrypt Passwords)
Дополнительная защита при авторизации и других действиях с паролями в phpBB3
-
- Администратор
- Сообщения: 1070
- Зарегистрирован: 22.08.13 09:05
- Благодарил (а): 133 раза
- Поблагодарили: 264 раза
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Появилась сегодня вот такая информация в менеджере ошибок:
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
- c61
- Разработчик модов
- Сообщения: 249
- Зарегистрирован: 24.08.13 16:46
- Благодарил (а): 20 раз
- Поблагодарили: 62 раза
Шифрование паролей (Encrypt Passwords)
Опять опечатка(( $ep_idn а не $ip_idn...
Исправлено в версии 1.0.6
Исправлено в версии 1.0.6
-
- Администратор
- Сообщения: 1070
- Зарегистрирован: 22.08.13 09:05
- Благодарил (а): 133 раза
- Поблагодарили: 264 раза
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Похоже, нашёл баг в моде:
После переноса форума на новый сервер понадобилось настроить отправку почты через SMTP, и при введении пароля в соответствующих настройках он запоминался в зашифрованном виде. Скрин из БД: А должен в незашифрованном.
После переноса форума на новый сервер понадобилось настроить отправку почты через SMTP, и при введении пароля в соответствующих настройках он запоминался в зашифрованном виде. Скрин из БД: А должен в незашифрованном.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
- c61
- Разработчик модов
- Сообщения: 249
- Зарегистрирован: 24.08.13 16:46
- Благодарил (а): 20 раз
- Поблагодарили: 62 раза
Шифрование паролей (Encrypt Passwords)
Да, не учтен случай, когда в post передаётся массив (в данном случае config).
Вставку в common.php надо заменить на:
Просьба проверить.
Добавлено спустя 27 минут 8 секунд:
Забавно: полтора года прошло и только сейчас обнаружен баг...
Вставку в common.php надо заменить на:
Код: Выделить всё
// Begin Encrypt Passwords Mod
if ( !empty($_POST) )
{
// Get form data
$ep_openssl_ext = function_exists('openssl_private_decrypt') ? true : false;
for ( $ep_index=0; $ep_index<4; $ep_index++ )
{
if ( request_var('encrypt_passwords_' . $ep_index,'') == '' ) continue;
if ( !$ep_openssl_ext && !isset($ep_id) )
{
require_once($phpbb_root_path . 'includes/encrypt_passwords/phpseclib/Crypt/RSA.' . $phpEx);
$ep_rsa = new Crypt_RSA();
$ep_rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
}
$ep_name = explode(':',$_POST['encrypt_passwords_' . $ep_index]);
$ep_idn = (int) $ep_name[0];
$ep_inputname = $ep_name[1];
$ep_b64ep = request_var($ep_inputname,'');
$ep_key_array = '';
if ( empty($ep_b64ep) )
{
if ( ($ep_is_array = strpos($ep_inputname,'[')) !== false )
{
$ep_key_array = substr($ep_inputname,0,$ep_is_array);
$ep_inputname = str_replace(array($ep_key_array.'[',']'),'',$ep_inputname);
$ep_b64ep = $_POST[$ep_key_array][$ep_inputname];
}
}
if ( !empty($ep_idn) && !empty($ep_b64ep) )
{
if ( !isset($ep_id) || ($ep_idn != $ep_id) )
{
$sql = 'SELECT * FROM ' . ENCRYPT_PASSWORDS_TABLE . ' WHERE ep_id = ' . $ep_idn;
$result = $db->sql_query($sql);
if ( $row = $db->sql_fetchrow($result) )
{
$ep_privatekey = $row['privatekey'];
}
$db->sql_freeresult($result);
}
if ( isset($ep_privatekey) )
{
$ep_id = $ep_idn;
$ep_ep = base64_decode($ep_b64ep);
$ep_dp = '';
if ( !$ep_openssl_ext )
{
$ep_rsa->loadKey($ep_privatekey);
$ep_dp = $ep_rsa->decrypt($ep_ep);
}
else
{
$ep_openssl_privatekey = @openssl_get_privatekey($ep_privatekey);
@openssl_private_decrypt($ep_ep,$ep_dp,$ep_openssl_privatekey);
@openssl_free_key($ep_openssl_privatekey);
}
if ( empty($ep_dp) ) $ep_dp = '';
if ( empty($ep_key_array) )
{
$_POST[$ep_inputname] = $ep_dp;
$GLOBALS['_REQUEST'][$ep_inputname] = $ep_dp;
}
else
{
$_POST[$ep_key_array][$ep_inputname] = $ep_dp;
$GLOBALS['_REQUEST'][$ep_key_array][$ep_inputname] = $ep_dp;
}
}
}
}
// Delete old sessions
if ( isset($ep_id) )
{
$sql = 'DELETE FROM ' . ENCRYPT_PASSWORDS_TABLE . ' WHERE ep_id = ' . $ep_id . ' OR time < ' . (time() - ENCRYPT_PASSWORDS_SESSION_LIFE);
$db->sql_query($sql);
}
}
// End Encrypt Passwords Mod
Добавлено спустя 27 минут 8 секунд:
Забавно: полтора года прошло и только сейчас обнаружен баг...
-
- Администратор
- Сообщения: 1070
- Зарегистрирован: 22.08.13 09:05
- Благодарил (а): 133 раза
- Поблагодарили: 264 раза
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Мало людей пользуется SMTP. Я и сам его до переезда на днях не использовал.c61 писал(а):Забавно: полтора года прошло и только сейчас обнаружен баг...
Позже проверю фикс. Отпишусь.
Добавлено спустя 3 часа 23 минуты 13 секунд:
Всё работает, спасибо
Добавлено спустя 32 минуты 27 секунд:
Выложил версию 1.0.7 с исправлением.
Библиотеки, используемые в моде, за это время не обновились? А то можно и их в обновлённый архив включить.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Шифрование паролей (Encrypt Passwords)
Я правильно понимаю, что на этом форуме используется данный мод. Именно поэтому когда логинишься в поле пароля появляется много ***** ?
-
- Администратор
- Сообщения: 1070
- Зарегистрирован: 22.08.13 09:05
- Благодарил (а): 133 раза
- Поблагодарили: 264 раза
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Alex
Да.
Да.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
- Predator
- Сообщения: 110
- Зарегистрирован: 06.11.15 13:59
- Благодарил (а): 11 раз
- Поблагодарили: 7 раз
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Видимо, это было в очень древних версиях движка.Shredder писал(а):В стандартном phpBB3 все вводимые пользователями пароли отправляются на сервер в виде обычного текста
-
- Администратор
- Сообщения: 1070
- Зарегистрирован: 22.08.13 09:05
- Благодарил (а): 133 раза
- Поблагодарили: 264 раза
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Было во всей ветке 3.0.x.
А щас они типа шифруются?) Я не в курсе.
Речь-то идёт про канал "от браузера до конечного сервера" - что сам канал не защищён. А на конечном сервере пароли шифруются и записываются в БД в зашифрованном виде по умолчанию (т.е. без модов).
А щас они типа шифруются?) Я не в курсе.
Речь-то идёт про канал "от браузера до конечного сервера" - что сам канал не защищён. А на конечном сервере пароли шифруются и записываются в БД в зашифрованном виде по умолчанию (т.е. без модов).
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
- Predator
- Сообщения: 110
- Зарегистрирован: 06.11.15 13:59
- Благодарил (а): 11 раз
- Поблагодарили: 7 раз
- Контактная информация:
Шифрование паролей (Encrypt Passwords)
Ах, вот что имелось ввиду.Shredder писал(а):Речь-то идёт про канал "от браузера до конечного сервера" - что сам канал не защищён
Шифрование паролей (Encrypt Passwords)
А стоят ли мучения с ошибками и багами мода результата, который тот выдает? В смысле..Насколько часты случаи такого вот воровства паролей?