Я в настоящее время делаю веб-сайт в php, мы используем Переменную сеанса для хранения уровня разрешения каждого пользователя.
Например, если бы кто-либо из Вас пошел бы на веб-сайт, Вы автоматически получили бы переменную сеанса со значением "участника".
То, что я спрашиваю: для взломщика действительно ли возможно пойти на веб-сайт и изменить значение переменной сеанса для "администратора" вместо "участника"
Я не спрашиваю, как, просто если возможно, и раз так какой специальный доступ был бы, взломщику будет нужно (исключая: доступ к коду....)
У меня есть альтернативное решение, которое должно было бы заменить значение разрешения маркером, который будет истекать со временем.
Вторым решением является путь дольше для реализации.
Спасибо за помощь!
Нет, кроме случаев, когда:
Из того, что вы описали, я предполагаю, что вы не храните разрешение в cookie. Следовательно, единственным способом получить доступ может быть угадывание/перебор идентификатора сессии администратора или атака межсайтового скриптинга. Если ваш идентификатор сессии достаточно длинный, то первый способ будет очень трудно осуществить.
Более высокий риск возникает, если злоумышленник украл активный сеанс, вы можете узнать об этом здесь:
Ваши переменные сеанса должны быть в безопасности, поскольку сеанс хранится на сервере. Однако, чтобы связать конкретного клиента с конкретной сессией, обычно устанавливается cookie, содержащий идентификатор сессии, и злоумышленник может попытаться получить доступ к сессии другого пользователя, перехватив его cookie с идентификатором сессии (либо перебором, либо каким-то образом перехватив чужой cookie).
Это зависит от того, как вы сохраняете сеанс. Если он есть в URL, то да. Если это в куки, то возможно.
Если только в вашем приложении нет бреши в системе безопасности, кто-то не может просто взять и изменить переменные сессии - они хранятся на сервере, и клиент никогда не имеет к ним прямого доступа.
Однако, что они могут сделать, так это изменить свой идентификатор сессии, перейдя по URL, например http://your.site.com/?PHPSESSID=2342f24502ade525 . Потенциал для злоупотребления здесь двоякий: (1) если они каким-то образом узнают идентификатор сессии вошедшего в систему пользователя, то идентификатор сессии позволит им выдать себя за этого пользователя, предоставив ему весь доступ, который есть у этого пользователя; и (2) если они смогут обманом заставить кого-то перейти на URL, к которому прикреплен идентификатор сессии, и этот человек войдет в систему, то теперь они знают идентификатор сессии этого пользователя (потому что они его предоставили!), и мы вернемся к пункту (1).