The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Предсказуемость генерации идентификаторов сессий в PHP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от opennews (ok) on 31-Мрт-10, 11:45 
В коде генерации номеров уникальных пользовательских сессий и уникальных идентификаторов (uniqid) PHP найдена (http://seclists.org/fulldisclosure/2010/Mar/519) недоработка, позволяющая злоумышленнику предсказать другие номера последовательности, зная текущий номер сессии (например, войдя на форум можно подобрать номера сессий других пользователей). Проблема вызвана некорректной инициализацией генератора случайных чисел в PHP, начальные значение затравки для которого можно предсказать с достаточно высокой степенью вероятности.


Проблеме подвержены все версии PHP, включая 5.3.2. Интересно, что при выпуске версии PHP 5.3.2 (http://www.opennet.me/opennews/art.shtml?num=25680) разработчики знали о существовании данной проблемы и даже изменили метод инициализации генератора случайных чисел, но то изменение по сути сводилось к добавлению предсказуемой константы, т.е. принципиально не устраняло суть проблемы, а лишь защищало от определенного эксплоита. Защита от подобного рода проблем в пр...

URL: http://seclists.org/fulldisclosure/2010/Mar/519
Новость: http://www.opennet.me/opennews/art.shtml?num=26026

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Предсказуемость генерации идентификаторов сессий в PHP"  +5 +/
Сообщение от terminus (ok) on 31-Мрт-10, 11:45 
php, такой php!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от User294 (ok) on 01-Апр-10, 03:25 
Можно подумать остальные без багов. Вон в яве вагон багов вообще нашли. С выполнением кода и прочая.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Предсказуемость генерации идентификаторов сессий в PHP"  –2 +/
Сообщение от Аноним (??) on 31-Мрт-10, 12:03 
будем юзать)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от анонимс on 31-Мрт-10, 12:24 
юзаем давно, спасибо разработчикам что думают не только о себе
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Предсказуемость генерации идентификаторов сессий в PHP"  +1 +/
Сообщение от Mariman email on 31-Мрт-10, 15:44 
Ну... практического применения эта уязвимость никак не получит, поскольку чтобы реально подменить сессию нужно:
1. угадать с точностью до миллисекунд время захода юзеря
2. узнать точное время старта системы и обнуления этого самого счетчика
3. знать точное количество и их время срабатывания генератора этих самых случйных чисел.

Только в этом случае тело может "угадать" идентификатор сессии, создать у себя такую же куку и зайти в систему под этим юзерем.

А если в сессии имеется еще какой идентификатор, например от юзер-агента браузера, то к списку еще прибавляется обязятельное знание каким браузером и какой его версией зашло тело.

В общем, такое тело существовать не может или же оно является админом. А если, допустим, есть пароль рута (т.е. сломали), то на кой ляд нужны эти танцы с сессиями?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Предсказуемость генерации идентификаторов сессий в PHP"  +1 +/
Сообщение от Аноним (??) on 31-Мрт-10, 16:16 
>1. угадать с точностью до миллисекунд время захода юзеря

В статье же вроде про секунды написано, в этом случае угадать не так сложно, с учетом  того, что на куче форумов можно посмотреть время нахождения юзера в online.

>2. узнать точное время старта системы и обнуления этого самого счетчика
>3. знать точное количество и их время срабатывания генератора этих самых случйных
>чисел.

По выданному сессионному id можно без проблем подобрать эти параметры.


>А если в сессии имеется еще какой идентификатор, например от юзер-агента браузера,

Там речь про дефолтные механизмы работы с сессиями.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

13. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от Mariman email on 01-Апр-10, 11:25 
мало ли что в статье... а добавили миллисекунды. и еще... как по session_id() вычислить точное время старта системы и количество генераций? ведь сайтом в этот момент пользуются еще люди... их генерации тоже надо учитывать.
Так что это все смахивает на бред параноика.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от Timon on 31-Мрт-10, 21:13 
можно же и побрутфорсить немного :)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

14. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от Герман (??) on 06-Июн-13, 18:50 
http://blog.ptsecurity.com/2012/08/not-so-random-numbers-tak...
не только возможно, но даже софт для этого можно скачать, с которым подбор значения session_id - меньше часа :)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Предсказуемость генерации идентификаторов сессий в PHP"  +2 +/
Сообщение от Nas_tradamus email(ok) on 31-Мрт-10, 17:19 
Так. Во Фряхе, Убунте и Дебиане php по-дефолту ставится с Suhosin-patch, что исключает возможность такого хака. Про другие дистры не знаю.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 31-Мрт-10, 18:11 
>Так. Во Фряхе, Убунте и Дебиане php по-дефолту ставится с Suhosin-patch, что
>исключает возможность такого хака. Про другие дистры не знаю.

В pkgsrc-системах (NetBSD, DragonFly BSD…) и OpenBSD тоже.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Предсказуемость генерации идентификаторов сессий в PHP"  –1 +/
Сообщение от Hety (??) on 01-Апр-10, 00:47 
В джэйле сухосин не работает. GG
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 01-Апр-10, 00:50 
>В джэйле сухосин не работает. GG

Хм. За jail не скажу, а в chroot на моих опёнковских серверах он чувствует себя прекрасно... В чём проблема с jail?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Предсказуемость генерации идентификаторов сессий в PHP"  +/
Сообщение от User294 (ok) on 01-Апр-10, 03:22 
> что исключает возможность такого хака.

Вот в такие моменты и появляется желание сказать спасибо майнтайнерам за то что они есть.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру