Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Безопасность хранения переменных в сессии. (https://forum.antichat.xyz/showthread.php?t=18091)

Дикс 23.04.2006 14:26

Безопасность хранения переменных в сессии.
 
Хотелось бы узнать - возможно ли каким-то образом модифицировать переменные в сессии?
Т.е. у меня все опции админа доступны если $HTTP_SESSION_VARS['userstatus'] == 3.
Может ли хацкер присвоить себе такой статус и получить статус админа?

pch 23.04.2006 20:57

В куках хранится только идентификатор сессии, а переменные и их значения живут на сервере (обычно, в папке tmp). Если хакер получит идентификатор сессии, то он автоматически станет админом. Но чтобы её получить, ему придётся найти CSS-уязвимость в вашем сайте и спереть ваши куки.

1ten0.0net1 23.04.2006 21:12

Цитата:

Сообщение от Дикс
Хотелось бы узнать - возможно ли каким-то образом модифицировать переменные в сессии?
Т.е. у меня все опции админа доступны если $HTTP_SESSION_VARS['userstatus'] == 3.
Может ли хацкер присвоить себе такой статус и получить статус админа?

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

Achtung! 23.04.2006 21:30

2Дикс да

Дикс 23.04.2006 21:30

как допишу, обязательно попрошу форумчан мой движок потестить и сорцы дам :)
а пока ладно, успокоили :)

Trinux 26.04.2006 04:14

Ну... чтобы расставить все точки над i... Хотя и так все уже ясно...

Сессии, о которых ты говоришь - надстройка только php языка. Устроены они просто. Тебе в куку или адрес кидатся идентификатор сессии и на диск пишется сессия. Либо, как было сказано, в диру /tmp обычно либо в БД. Далее php интерпритатор, при нахождении идентификатора сессии у тебя в куках либо в POST\GET запросе проверяет наличие сессии с таким же именем на диске. Если находит - то только тогда подключает файл сессий и создается переменные окружения. Т.е. они создаются уже после того, как php начал обрабатывать скрипты. Т.е. если ты, грубо говоря, обратишься по адресу
localhost/?HTTP_SESSION_VARS['userstatus']=3
Ты не присвоешь этой переменной значение 3. Так как она в скриптах будет объявлена позже.


Время: 12:56