![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
supercelt |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Я делаю на сайте зону для админа. При авторизации использую сессию вот так:
Проверка доступа к зоне
Скажите, на сколько это безопасно?. Может ли злоумышленник как-то по другому создать сессию на сайте, не из скрипта? |
||||
|
|||||
Валерия |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: 3 Всего: 8 |
Вполне безопасно.
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
В хакере вычитал забавный способ взлома
в куку '_SERVER[admin]' записать значение 'admin'. Тогда при включенном register_globals переменная $_SERVER['admin'] будет такой как надо... Метод авторизации не такой уж и плохой, вот только следить за правильными настройками и откуда какие переменные приходят нужно все равно ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
спасибо)
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
механизхм сессий не абсолютно безопасен. самый реальный, как на меня, случай состоит в эксплуатации потенциальной уязвимости: в случае использования VDS(виртуального выделенного сервера) по умолчанию сессии хранятся в одной общей директории. и если создать на том же физическом сервере сайт, то можно будет просматривать содержимое переменных сессий. а проанализировав - подделать. борьба: либо менять механизм сессий целиком(например, запихивать в БД), либо указывать иной каталог для хранения сессий, отличный от умолчального(если есть доступ к файлам конфигурации PHP, что в случае использования VDS очень-очень маловероятно; но возможно). кроме того, возможно подделать идетификатор существующей сесиий(на стороне клиента достаточно потереть куки и добавить соответствующий PHPSESSID в адресную строку или отредактировать содержимое куки) на реально используемый. идентификатор реально используемой сессии можно утянуть либо физически(специально склепанный троян или доступ к компу админа), либо эксплуатируя XSS(неэкранированный javascript утянет содержимое кук и отправит их злодею). борьба потенциально не возможно. разве что пытаться отличить разных пользователей по совокупности заголовков. на форуме была где-то большая тема, но никак не могу найти. Добавлено через 1 минуту и 27 секунд
имелось в виду, что можно изменить идентификатор сессии на реально существующий. |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
Способ по подделке идентификатора сессии админа имеет серьезное ограничение - надо успеть, пока сессия админа не отвалилась по таймауту.
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
вообще говоря, считаю, что подобное маловероятно. только если намеренное "нападение" на сайт. в любом случае, таймаут навряд ли меньше 15 минут - получаса.а XSS сразу выдаст куку. но это так, скорее теория. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
skyboy,
если сервер уже заражен - подделывать сессию админа как-то уже и незачем, хакер может этим заняться только из любви к искусству. ![]() Более реальный способ "потерять сессию" - посидеть в интернет-кафе. Центральный компьютер кафе просто обязан сканировать трафик, а добавить пару интересных фильтров-правил к антиспамным правилам кафешного файрволла совсем несложно... Впрочем, с таким-же подозрением можно относиться к собственному провайдеру, провайдеру собственного провайдера, хостеру сайта и остальному интерент-сообществу ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ksnk, естественно. однако, вполне вероятен заказной взлом, если речь идет о каком-то крупном раскрученном проекте, который конкуренты видели в гробу. в этом случае возможно всякое
![]() |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Если это возможно, то это уязвимость сервера, а не механизма сессий, т.к. файлы в /tmp должны всегда создавать с правами по маске 077, по этому никакой другой пользователь не сможет их прочитать. И соответственно сам скрипт так же не должен иметь доступа к /tmp. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
может, 0600? разве "0777" - это не "доступ всем и вся"? кроме того, мне не совсем понятен механизм VDS. разве Apache не запущен в единственном экземпляре(а значит, и модуль apache - php)? от имени одного определенного юзера? Добавлено через 1 минуту и 57 секунд
если PHP(откедова у самого скрипта какие бы то ни было права?) не будет иметь доступ к папке с сесионными файлами(и к загруженным на сервер методом POST файлам), то кто будет с этими файлами работать? или я неверно тебя понял? |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Не права доступа, а umask на директорию /tmp. Грубо говоря, при создании файлов в /tmp будут сниматся все быты для group и other.
Во первых есть такой крайне полезный модуль suexec, который позваляет запускать скрипты от имени самого пользователя. А во вторых даже если скрипты и запускаются от одного пользователя - это ничего не даст злоумышленику. То что для PHP интерпретатору будет доступ к файлам сессий, вовсе не значит что и PHP скриптам будет доступ к ним, собственно скриптам и не нужен к самим файлам с сериализованной сессией. Если PHP работает через suEXEC (как и работают правильные хостеры), то без разницы, каждый пользователь будет иметь доступ только к своим файлам. Иначе см. выше. Наверное все-таки ты имел ввиду не VDS, а виртуальный хостинг. VDS, если не ошибаюсь - это как раз виртуальных сервер, где предоставляется рут-доступ. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
sTa1kEr, спасибо. зря я людей дезой запугивал
![]() |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
спасибо, посмеялся ![]() Добавлено через 17 секунд а, блин, смотрю сталкер уже всё написал, жаль ![]() |
|||
|
||||
Валерия |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: 3 Всего: 8 |
Что бы сессию не могли подделать, нужно делать привязку по айпи)
|
|||
|
||||
bobik02 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 26.11.2007 Репутация: 2 Всего: 14 |
Потрудись и обоснуй ? (Есть и обратная сторона медали) -------------------- Have a nice day |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |