информационная безопасность
без паники и всерьез
 подробно о проекте
Все любят медАтака на InternetСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 PHP2Shell начали эксплуатировать... 
 Четыре уязвимости Plex объединяют... 
 Вредоносный релиз LiteLLM 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / guestbook
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
неправда твоя 09.10.01 12:40  Число просмотров: 1445
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> Что это за привязка к IP ?
> Т.е, поставлю вопрос иначе, что это даёт? Это не праздный
> интерес. Вот сейчас я проделал следующую манипуляцию: зашел
> под своим логином без прокси и зашёл под своим логином с
> анонимного прокси. ИД разные. Но теперь я могу зайти в свой
> аккаунт И ПОД ТЕМ, И ПОД ДРУГИМ SESSION_ID CЛЮБОГО
> АДРЕСА (!)

> ГДЕ_ПРИВЯЗКА_К IP ?
> DL , открыть алгоритм генерации sess_id не так сложно
> (возможно).... Надо пересмотреть всю систему авторизации
> скрипта IMHO......

crypt(substr($ip, 5), substr($pass, 3));
<guestbook>
2dl Еще баг в форуме нашел 08.10.01 13:20  
Автор: paganoid Статус: Member
<"чистая" ссылка>

Ситуация такая. Зарегистрированный пользователь заходит в форум под своим логином и паролем. Его перекидывает на некую урлу, в которой есть всякие session id , ну да dl виднее. Жмёт кнопку ВЫХОД , что, в соответствии со здравым смыслом должно запирать просмотр форума по этой (предыдущей урле). Однако это не так. Т.е. "попробовав раз, ем и сейчас" . Надо на нажатие кнопы ВЫДОХ вычищать сешн ид откуда надо.

Эта бага весьма нехороша при чтении данного форума, к примеру, из интренет-кабака, поскольку любой может сесть за машину и, погуляв по хистори браузера, понаписать сообщений от чужого имени.
2dl ууу как все запущено 08.10.01 14:17  
Автор: paganoid Статус: Member
<"чистая" ссылка>
ужас какой, да тут session_id вроде вечный, не меняется ...
заглянул через плечо человеку в урлу, подсмотрел буковки в урле после &cp= и всё,.... В совокупности с тем, что для смены пароля в настройках не требуется ввод старого пароля, это означает лёгкую возможность захвата ника....
2dl ууу как все запущено 08.10.01 18:58  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> ужас какой, да тут session_id вроде вечный, не меняется ...
> заглянул через плечо человеку в урлу, подсмотрел буковки в
> урле после &cp= и всё,.... В совокупности с тем, что для
> смены пароля в настройках не требуется ввод старого пароля,
> это означает лёгкую возможность захвата ника....

session_id привязан к текущему ip. На случай интернет-кабаков могу пока посоветовать только чистить хистори после выхода. Чтобы не светился адрес, можно использовать режим с куками и чистить их перед уходом, но это еще опаснее.
неправда твоя 09.10.01 11:31  
Автор: paganoid Статус: Member
<"чистая" ссылка>
Что это за привязка к IP ?

Т.е, поставлю вопрос иначе, что это даёт? Это не праздный интерес. Вот сейчас я проделал следующую манипуляцию: зашел под своим логином без прокси и зашёл под своим логином с анонимного прокси. ИД разные. Но теперь я могу зайти в свой аккаунт И ПОД ТЕМ, И ПОД ДРУГИМ SESSION_ID CЛЮБОГОАДРЕСА (!)

ГДЕ_ПРИВЯЗКА_К IP ?

DL , открыть алгоритм генерации sess_id не так сложно (возможно).... Надо пересмотреть всю систему авторизации скрипта IMHO......



неправда твоя 09.10.01 12:40  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> Что это за привязка к IP ?
> Т.е, поставлю вопрос иначе, что это даёт? Это не праздный
> интерес. Вот сейчас я проделал следующую манипуляцию: зашел
> под своим логином без прокси и зашёл под своим логином с
> анонимного прокси. ИД разные. Но теперь я могу зайти в свой
> аккаунт И ПОД ТЕМ, И ПОД ДРУГИМ SESSION_ID CЛЮБОГО
> АДРЕСА (!)

> ГДЕ_ПРИВЯЗКА_К IP ?
> DL , открыть алгоритм генерации sess_id не так сложно
> (возможно).... Надо пересмотреть всю систему авторизации
> скрипта IMHO......

crypt(substr($ip, 5), substr($pass, 3));
хм... 09.10.01 14:54  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> > Что это за привязка к IP ?
> > Т.е, поставлю вопрос иначе, что это даёт? Это не
> праздный
> > интерес. Вот сейчас я проделал следующую манипуляцию:
> зашел
> > под своим логином без прокси и зашёл под своим логином
> с
> > анонимного прокси. ИД разные. Но теперь я могу зайти в
> свой
> > аккаунт И ПОД ТЕМ, И ПОД ДРУГИМ SESSION_ID CЛЮБОГО
> > АДРЕСА (!)
> > ГДЕ_ПРИВЯЗКА_К IP ?
> > DL , открыть алгоритм генерации sess_id не так сложно
> > (возможно).... Надо пересмотреть всю систему
> авторизации

> > скрипта IMHO......
>
> crypt(substr($ip, 5), substr($pass, 3));

хорошо что $pass в параметрах ф-ии есть :)

все равно как-то неспортивно..
впрочем, сдаюсь, что я привязался..
хм... 09.10.01 18:24  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> > crypt(substr($ip, 5), substr($pass, 3));
> хорошо что $pass в параметрах ф-ии есть :)
> все равно как-то неспортивно..
> впрочем, сдаюсь, что я привязался..

Я открыт для любых предложений :)
Как бы есть всего два способа передавать сессию - либо через куки, либо через спрятанные поля/куски ссылок. На форуме используются оба. В режиме с включенными куками после нажатия "выход" все сбрасывается.
В принципе, есть еще вариант закрытия каталога средствами апача, и он, в общем-то, работает, но к общему использованию я его пока не готовил.
хм... 09.10.01 19:05  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> > > crypt(substr($ip, 5), substr($pass, 3));
> > хорошо что $pass в параметрах ф-ии есть :)
> > все равно как-то неспортивно..
> > впрочем, сдаюсь, что я привязался..
>
> Я открыт для любых предложений :)

;)

я все еще не могу понять, как же это по приведенной схеме мне удаётся войти под разными sessid с одного ip ....

> Как бы есть всего два способа передавать сессию - либо
> через куки, либо через спрятанные поля/куски ссылок.

Это понятно. Просто, честно говоря, первый раз вижу такую схему.
Обычно так - зашёл, получил случайный sess_id, который занёсся в базу,
нажал "выход" - из базы sessid вытерли. И всё. Больше не зайдёшь.

А тут как-то.. хм... Вот всё думаю, что же тут не так, помимо возможности повторного входа ... Ну и про ф-ю crypt. Вот тут на сервере используется crypt с 9-значным salt (вроде) . Это хорошо. А обычно 2х значный. Если бы и тут был двухзначный, то всё бы это очень быстро ломалось перебором.

Т.е. вставил URL, все по нему сходили, записал IP всех людей, прикинул приблизительно ху из ху, и начинаешь шпарить маленький короткий перебор по всем 2значным комбинациям salt...

>На форуме используются оба. В режиме с включенными куками
> после нажатия "выход" все сбрасывается.

Угу, я подметил.

> В принципе, есть еще вариант закрытия каталога средствами
> апача, и он, в общем-то, работает, но к общему
> использованию я его пока не готовил.

тогда будет выскакивать это жуткое окно , енто не красиво... хотя...
хм... 09.10.01 19:35  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> я все еще не могу понять, как же это по приведенной схеме
> мне удаётся войти под разными sessid с одного ip ....

Я тоже :)

> > Как бы есть всего два способа передавать сессию - либо
> > через куки, либо через спрятанные поля/куски ссылок.
> Это понятно. Просто, честно говоря, первый раз вижу такую
> схему.
> Обычно так - зашёл, получил случайный sess_id, который
> занёсся в базу,
> нажал "выход" - из базы sessid вытерли. И всё. Больше не
> зайдёшь.

Ну можно, конечно. Просто этот вариант вообще всегда рассматривался как вторичный, возмущавшихся им до сих пор не было.

> А тут как-то.. хм... Вот всё думаю, что же тут не так,
> помимо возможности повторного входа ... Ну и про ф-ю crypt.
> Вот тут на сервере используется crypt с 9-значным salt
> (вроде) . Это хорошо. А обычно 2х значный. Если бы и тут
> был двухзначный, то всё бы это очень быстро ломалось
> перебором.
> Т.е. вставил URL, все по нему сходили, записал IP всех
> людей, прикинул приблизительно ху из ху, и начинаешь
> шпарить маленький короткий перебор по всем 2значным
> комбинациям salt...

Угу, только не очень понятно, как прикидывать, ху из ху :) К тому же у большинства в настройках стоит использование cookie, при котором проверка идентификатора в поле не проводится... Кроме того, я не обещал, что дал абсолютно точный вид функции :)
хм... 10.10.01 11:02  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> > я все еще не могу понять, как же это по приведенной
> схеме
> > мне удаётся войти под разными sessid с одного ip ....
>
> Я тоже :)

уже не удаётся ;о . Обман зрения...

> > Вот тут на сервере используется crypt с 9-значным
> salt
> > (вроде) . Это хорошо. А обычно 2х значный. Если бы и
> тут
> > был двухзначный, то всё бы это очень быстро ломалось
> > перебором.

кстати вроде он всётки двузначный..

> > Т.е. вставил URL, все по нему сходили, записал IP всех
> > людей, прикинул приблизительно ху из ху, и начинаешь
> > шпарить маленький короткий перебор по всем 2значным
> > комбинациям salt...
> Угу, только не очень понятно, как прикидывать, ху из ху :)

хм, очень просто. Сидишь и смотришь на того, "кто сейчас в чате" хехе. Как зашел к тебе на сервер - записал REMOTE_ADDR . На всякий случай еще и REFERER (вдруг куки выключены). Если лень сидеть, смотреть за списком юзеров, можно поглядеть по дате постинга сообщений.

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

это я заметил :)
от скуки всё пытаюсь подобрать :)

выходит crypt( какая_то_функция(время и/или rnd при входе, IP), crypt("пароль","имя пользователя") )

или

substr(crypt("пароль","имя пользователя"),0,x ) + какая_то_функция(время и/или rnd при входе, IP)

хм... 10.10.01 13:26  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> это я заметил :)
> от скуки всё пытаюсь подобрать :)
> выходит crypt( какая_то_функция(время и/или rnd при входе,
> IP), crypt("пароль","имя пользователя") )
> или
> substr(crypt("пароль","имя пользователя"),0,x ) +
> какая_то_функция(время и/или rnd при входе, IP)

Примерно так. Собственно, вчера я сюда уже добавил уникальный кусок идентификатора, сносящийся при выходе, так что спасибо за замечания :)

Правда, все равно остается шанс перехватить логин человека, сидящего за тем же прокси/маскарадом (типично для интернет-кафе, кстати), пока он еще не вышел.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach