Действительно ли это возможно “пирату” переменная сеанса (я не хочу знать как),

Я в настоящее время делаю веб-сайт в php, мы используем Переменную сеанса для хранения уровня разрешения каждого пользователя.

Например, если бы кто-либо из Вас пошел бы на веб-сайт, Вы автоматически получили бы переменную сеанса со значением "участника".

То, что я спрашиваю: для взломщика действительно ли возможно пойти на веб-сайт и изменить значение переменной сеанса для "администратора" вместо "участника"

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

У меня есть альтернативное решение, которое должно было бы заменить значение разрешения маркером, который будет истекать со временем.

Вторым решением является путь дольше для реализации.

Спасибо за помощь!

10
задан Ted Gueniche 9 August 2010 в 19:56
поделиться

6 ответов

Нет, кроме случаев, когда:

  • Злоумышленник имел доступ к хранилищу переменных сеанса (обычно файловая система сервера, но также может быть, например, базой данных)
  • Злоумышленник перехватил cookie сеанса более привилегированного пользователя.
  • Злоумышленник успешно зафиксировал сеанс более привилегированного пользователя (см. атаки фиксации сеанса ).
11
ответ дан 3 December 2019 в 17:18
поделиться

Из того, что вы описали, я предполагаю, что вы не храните разрешение в cookie. Следовательно, единственным способом получить доступ может быть угадывание/перебор идентификатора сессии администратора или атака межсайтового скриптинга. Если ваш идентификатор сессии достаточно длинный, то первый способ будет очень трудно осуществить.

3
ответ дан 3 December 2019 в 17:18
поделиться

Более высокий риск возникает, если злоумышленник украл активный сеанс, вы можете узнать об этом здесь:

3
ответ дан 3 December 2019 в 17:18
поделиться

Ваши переменные сеанса должны быть в безопасности, поскольку сеанс хранится на сервере. Однако, чтобы связать конкретного клиента с конкретной сессией, обычно устанавливается cookie, содержащий идентификатор сессии, и злоумышленник может попытаться получить доступ к сессии другого пользователя, перехватив его cookie с идентификатором сессии (либо перебором, либо каким-то образом перехватив чужой cookie).

2
ответ дан 3 December 2019 в 17:18
поделиться

Это зависит от того, как вы сохраняете сеанс. Если он есть в URL, то да. Если это в куки, то возможно.

2
ответ дан 3 December 2019 в 17:18
поделиться

Если только в вашем приложении нет бреши в системе безопасности, кто-то не может просто взять и изменить переменные сессии - они хранятся на сервере, и клиент никогда не имеет к ним прямого доступа.

Однако, что они могут сделать, так это изменить свой идентификатор сессии, перейдя по URL, например http://your.site.com/?PHPSESSID=2342f24502ade525 . Потенциал для злоупотребления здесь двоякий: (1) если они каким-то образом узнают идентификатор сессии вошедшего в систему пользователя, то идентификатор сессии позволит им выдать себя за этого пользователя, предоставив ему весь доступ, который есть у этого пользователя; и (2) если они смогут обманом заставить кого-то перейти на URL, к которому прикреплен идентификатор сессии, и этот человек войдет в систему, то теперь они знают идентификатор сессии этого пользователя (потому что они его предоставили!), и мы вернемся к пункту (1).

2
ответ дан 3 December 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: