| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Безопасность сессий |
| Автор: supercelt 10.10.2008, 18:13 | ||||
Я делаю на сайте зону для админа. При авторизации использую сессию вот так:
Проверка доступа к зоне
Скажите, на сколько это безопасно?. Может ли злоумышленник как-то по другому создать сессию на сайте, не из скрипта? |
| Автор: Валерия 10.10.2008, 18:18 |
| Вполне безопасно. |
| Автор: ksnk 10.10.2008, 18:31 |
| В хакере вычитал забавный способ взлома в куку '_SERVER[admin]' записать значение 'admin'. Тогда при включенном register_globals переменная $_SERVER['admin'] будет такой как надо... Метод авторизации не такой уж и плохой, вот только следить за правильными настройками и откуда какие переменные приходят нужно все равно |
| Автор: supercelt 10.10.2008, 18:33 |
| спасибо) |
| Автор: DizelGenerator 10.10.2008, 22:18 |
| Способ по подделке идентификатора сессии админа имеет серьезное ограничение - надо успеть, пока сессия админа не отвалилась по таймауту. |
| Автор: skyboy 10.10.2008, 22:34 | ||
вообще говоря, считаю, что подобное маловероятно. только если намеренное "нападение" на сайт. в любом случае, http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime навряд ли меньше 15 минут - получаса.а XSS сразу выдаст куку. но это так, скорее теория. |
| Автор: ksnk 10.10.2008, 22:37 | ||
skyboy,
если сервер уже заражен - подделывать сессию админа как-то уже и незачем, хакер может этим заняться только из любви к искусству. Более реальный способ "потерять сессию" - посидеть в интернет-кафе. Центральный компьютер кафе просто обязан сканировать трафик, а добавить пару интересных фильтров-правил к антиспамным правилам кафешного файрволла совсем несложно... Впрочем, с таким-же подозрением можно относиться к собственному провайдеру, провайдеру собственного провайдера, хостеру сайта и остальному интерент-сообществу |
| Автор: skyboy 10.10.2008, 23:02 |
| ksnk, естественно. однако, вполне вероятен заказной взлом, если речь идет о каком-то крупном раскрученном проекте, который конкуренты видели в гробу. в этом случае возможно всякое |
| Автор: sTa1kEr 10.10.2008, 23:39 | ||
Если это возможно, то это уязвимость сервера, а не механизма сессий, т.к. файлы в /tmp должны всегда создавать с правами по маске 077, по этому никакой другой пользователь не сможет их прочитать. И соответственно сам скрипт так же не должен иметь доступа к /tmp. |
| Автор: skyboy 11.10.2008, 00:34 | ||
может, 0600? разве "0777" - это не "доступ всем и вся"? кроме того, мне не совсем понятен механизм VDS. разве Apache не запущен в единственном экземпляре(а значит, и модуль apache - php)? от имени одного определенного юзера? Добавлено через 1 минуту и 57 секунд
если PHP(откедова у самого скрипта какие бы то ни было права?) не будет иметь доступ к папке с сесионными файлами(и к загруженным на сервер методом POST файлам), то кто будет с этими файлами работать? или я неверно тебя понял? |
| Автор: sTa1kEr 11.10.2008, 01:41 | ||||
Не права доступа, а http://ru.wikipedia.org/wiki/Umask на директорию /tmp. Грубо говоря, при создании файлов в /tmp будут сниматся все быты для group и other.
Во первых есть такой крайне полезный модуль http://httpd.apache.org/docs/2.2/suexec.html, который позваляет запускать скрипты от имени самого пользователя. А во вторых даже если скрипты и запускаются от одного пользователя - это ничего не даст злоумышленику. То что для PHP интерпретатору будет доступ к файлам сессий, вовсе не значит что и PHP скриптам будет доступ к ним, собственно скриптам и не нужен к самим файлам с сериализованной сессией.
Если PHP работает через suEXEC (как и работают правильные хостеры), то без разницы, каждый пользователь будет иметь доступ только к своим файлам. Иначе см. выше. Наверное все-таки ты имел ввиду не VDS, а виртуальный хостинг. VDS, если не ошибаюсь - это как раз виртуальных сервер, где предоставляется рут-доступ. |
| Автор: skyboy 11.10.2008, 09:17 |
| sTa1kEr, спасибо. зря я людей дезой запугивал |
| Автор: gta4kv 11.10.2008, 10:15 | ||
спасибо, посмеялся Добавлено через 17 секунд а, блин, смотрю сталкер уже всё написал, жаль |
| Автор: Валерия 12.10.2008, 02:20 |
| Что бы сессию не могли подделать, нужно делать привязку по айпи) |
| Автор: bobik02 13.10.2008, 00:47 | ||
Потрудись и обоснуй ? (Есть и обратная сторона медали) |