Мега-функция unique_id

Board index Общие разделы О phpBBex

Description: Обсуждение phpBBex в целом, всё что не подходит в предыдущие разделы.
Moderator: Поддержка

Post #1by 135 » 09.01.2014, 23:04

Вроде мелочь…

В /include/functions.php есть такая мега-функция. Казалось бы, что может быть интересного в генерации случайного числа для хеширования данных?! Ан нет, хороший, творческий художник даже такую скучную вещь может превратить в произведение искусства.
function unique_id($extra = 'c')
{
static $dss_seeded = false;
global $config;

$val = $config['rand_seed'] . microtime();
$val = md5($val);
$config['rand_seed'] = md5($config['rand_seed'] . $val . $extra);

if ($dss_seeded !== true && ($config['rand_seed_last_update'] < time() - rand(1,10)))
{
set_config('rand_seed_last_update', time(), true);
set_config('rand_seed', $config['rand_seed'], true);
$dss_seeded = true;
}

return substr($val, 4, 16);
}
135
Topic author, Гость

Post #2by Sumanai » 10.01.2014, 05:03

А что не так?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #3by 135 » 10.01.2014, 14:42

С точки зрения Лукоморьевской статьи о рнр - в принципе ничего, всё в канве.

Просто мне непривычно когда во время задачи получить случайную соль, бегают читать/писать в БД, проводят абсолютно лишние сравнения...
135
Topic author, Гость

Post #4by Sumanai » 10.01.2014, 15:06

Вообще- то всё правильно делают, для безопасности, чтобы из- за легко угадываемой соли ничего не взломали. Читают из БД? Тут ничего не читают, массив конфига в любом случаи будет прочтён.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #5by factotum » 10.01.2014, 17:08

Sumanai wrote:легко угадываемой соли
Не совсем понятно, как угадываемость соли зависит от БД. БД явно не генератор случайных чисел.
Sumanai wrote:ничего не взломали
звучит громко.
Не смотрел phpbbex: как то экспериментировал с phpbb - с уведенными кукизами получал все права и привилегии владельца. даже просто копирование из оперы в хром давало тот же эффект. этакая небольшая дырочка в ад)
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 4 months

Post #6by VEG » 10.01.2014, 18:15

factotum, а вы сперва уведите cookies прежде, чем говорить «дырочка».
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 4 months

Post #7by factotum » 10.01.2014, 18:30

VEG wrote:а вы сперва уведите cookies прежде, чем говорить «дырочка».
:clap:
администратор ресурса, где была найдена уязвимость, ответил в том же духе - "это противозаконно")
Это гораздо проще, чем привязать кукизы)
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 4 months

Post #8by VEG » 10.01.2014, 19:15

factotum, к чему их привязать? К User Agent? Чтобы при обновлении версии браузера слетала авторизация? К IP? Чтобы при переподключении модема мы также теряли авторизацию и не имели возможности пользоваться сайтом через какой-нибудь Tor?
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 4 months

Post #9by 135 » 10.01.2014, 20:14

Sumanai wrote:Вообще- то всё правильно делают, для безопасности
Делают они это не для безопасности а шутки ради. 100%.

Sumanai wrote:чтобы из- за легко угадываемой соли ничего не взломали.
Зачем угадывать соль?

Sumanai wrote:Читают из БД? Тут ничего не читают
Да хрен бы с ним, пусть и читали бы, писать то нахрена причём два раза. Для безопасности или для скорости работы? Или и для того и для того?

Напомню, функция генерит уникальный ID, часть которого будет использоваться при последующем хешировании нормальных данных. Как в анекдоте "за день можете? а за два? а за неделю?"...

Я думаю вся функция есть просто троллинг, собственно как и схема БД и собственно сам рнр. -(.
135
Topic author, Гость

Post #10by Sumanai » 11.01.2014, 04:49

factotum wrote:Не совсем понятно, как угадываемость соли зависит от БД. БД явно не генератор случайных чисел.

Ага, не генератор. Но как вы можете увидеть, туда записывается цепочка хешей.
Если просто хешировать например время, то это можно угадать, диапазон ограничен.
В phpBB для этого нужно угадать всю цепочку хешей, что не реально.

VEG wrote:factotum, к чему их привязать? К User Agent? Чтобы при обновлении версии браузера слетала авторизация? К IP? Чтобы при переподключении модема мы также теряли авторизацию и не имели возможности пользоваться сайтом через какой-нибудь Tor?

Собственно такие настройки в админке есть. Можно и привязать.

135 wrote:Зачем угадывать соль?

Для подбора паролей или ещё чего- то там.

135 wrote:Я думаю вся функция есть просто троллинг, собственно как и схема БД и собственно сам рнр. -(.

Перепишите весь движок на perl, можете даже на c++, и пользуйтесь, разрешаю.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #11by 135 » 11.01.2014, 10:56

Sumanai wrote:Для подбора паролей или ещё чего- то там.
-) давайте я вам дам соль а вы угадаете пароль?))

Sumanai wrote:Перепишите весь движок на perl, можете даже на c++, и пользуйтесь, разрешаю.
спасибо за разрешение), мне хватит по возможности не писать на рнр, если и писать, то не такие вот конструкции и уж точно не оправдывать их фанатично даже не разобравшись что же там происходит.
135
Topic author, Гость

Post #12by VEG » 11.01.2014, 12:29

Спор ни о чём. Ребята из phpBB перестраховались лишний раз и сделали свою реализацию генератора уникальных строк. Возможно, они не доверяют стандартному uniqid, считают, что его строки недостаточно уникальны, поэтому написали такой генератор. Очевидно, что они руководствовались поговоркой «лучше перебдеть, чем недобдеть». С учётом того, в phpBB 3 не было найдено серьёзных уязвимостей с первого релиза, может быть, они не зря включали параноиков по каждому поводу. А как используется этот генератор и может ли злоумышленник повредить сайту, если будет знать, какие числа генерирует эта функция — дело десятое. В каких-то случаях использования такой функции — да, сможет. В тех случаях, где эта функция используется в phpBB 3 — возможно и нет (смысла ради этого пустого спора изучать, где же она используется, не вижу).
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 4 months

Post #13by Sumanai » 11.01.2014, 13:53

VEG wrote:смысла ради этого пустого спора изучать, где же она используется, не вижу

Code: Select all
$browser_id = md5(unique_id('bid', true));

По моему, это писали вы :biggrin:
Но спор действительно пустой.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #14by 135 » 11.01.2014, 15:54

VEG wrote:и сделали свою реализацию генератора уникальных строк.

Ага, с блэкджеком и шлюхами -).

VEG wrote:С учётом того, в phpBB 3 не было найдено серьёзных уязвимостей с первого релиза
Дело не в уязвимостях, дело в том, что это либо быдлокод, либо попытка юмора.

Sumanai wrote:Но спор действительно пустой.
-) лично я отметил интересный код. Я ж не думал что о такой прекрасной функции начнут спорить а потом назовут спор пустым. По моему мнению тут вообще не о чем спорить..
Но, видимо, я не туда запостил эту тему… Опять, так сказать, ошибся аудиторией -).
135
Topic author, Гость

Post #15by Sumanai » 11.01.2014, 17:21

135 wrote:По моему мнению тут вообще не о чем спорить..

И по моему тоже! Нормальная функция.

135 wrote:Но, видимо, я не туда запостил эту тему… Опять, так сказать, ошибся аудиторией -).

Запостите на говнокод, не забыв сказать, откуда функция.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #16by 135 » 11.01.2014, 21:14

Sumanai wrote:Запостите на говнокод
Я там не зарегистрирован.
135
Topic author, Гость

Post #17by Sumanai » 11.01.2014, 21:17

Боязнь регистрироваться?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #18by 135 » 11.01.2014, 21:21

Ну да. Боюсь что узнают соль в том хеше и через неё ломанут мои аккаунты повсеместно.
135
Topic author, Гость

Post #19by Sumanai » 11.01.2014, 22:26

Скорее боитесь быть осмеянными.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1581
With us: 4 yaers 6 months

Post #20by 135 » 11.01.2014, 22:52

=)
135
Topic author, Гость

Next

Return to О phpBBex