PHP7 — Фиксация сессии

Фиксация сессииPHP7 — Фиксация сессии.

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

Фиксация сессии — это метод нападения,_который принудительно устанавливает жертве идентификатор сессии, выбранный атакующим. Самая простая реализация данной атаки состоит в том, что подсунуть пользователю ссылку со встроенным идентификатором сессии:

<а href=»http://host/bgin.php?PHPSESSID=1234″>Войти</а>

Жертва, щелкнувшая по этой ссылке, получит идентификатор сессии 1234. Если жертва продолжит вход, атакующий сможет перехватить сессию жертвы и получить ее уровень привилегий.

В целом же существует довольно большое количество вариантов этой атаки, в том числе через использование Cookies. К счастью, защита от фиксации сессии довольно проста. Каждый раз при изменении уровня полномочий пользователя, например, при входе пользователя в систему, регенерируйте идентификатор сеанса с помощью:

session_regenerate_id ():

if (check_auth ($_POST[‘username’], $_POST[‘password’])) {

$_SESSION[‘auth’] = TRUE;

session_regenerate_id ();

}

Вышеприведенный код эффективно предотвращает фиксацию сессии. Каждому вошедшему пользователю будет присвоен свежий, случайный идентификатор сессии.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *