Повторное использование того же идентификатора сеанса обязательно плохое?


3

Вопрос связан с управлением идентификатором сеанса в определенном веб-приложении на основе php.

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

Это считается плохой практикой безопасности? Как насчет того, используется ли тот же идентификатор сеанса для всех пользователей?

9

Роллинг собственной системы управления сеансом чрезвычайно опасен, потому что a lot can go wrong with a session. В PHP вы должны просто использовать session_start() и $_SESSION суперглобальный.

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

Используя ту же сессию для каждого пользователя поражения цели, если необходимо глобальное состояние, использовать базу данных


7

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

Существует, по крайней мере, одна конкретная уязвимость, которая создает: идентификатор сеанса теперь предсказуем. Рассмотрим: Алиса использует систему от клиента A - после выхода из системы вы можете отметить, что сеанс больше не проверен, но токен сеанса может быть восстановлен с этого клиента. Чак приходит и извлекает идентификатор сеанса от клиента А. Он не может получить доступ к системе, потому что сеанс помечен как не аутентифицированный. Но затем Алиса возвращается к клиенту B - сеанс больше не заблокирован, и у Чака есть свободный доступ.

Как насчет того, используется ли тот же идентификатор сеанса для всех пользователей?

WTF ??? !!!!

Тогда это не идентификатор сеанса.