Разные браузеры включают разные меры безопасности, если установлен флаг HTTPOnly . Например, Opera и Safari не запрещают JavaScript писать в cookie. Тем не менее, чтение всегда запрещено в последней версии всех основных браузеров.
Но что более важно , почему вы хотите прочитать HTTPOnly
cookie? Если вы разработчик, просто отключите флаг и убедитесь, что вы протестировали свой код для xss . Я рекомендую вам избегать отключения этого флага, если это возможно. Флаг HTTPOnly
и «безопасный флаг» (который заставляет куки отправляться через https) всегда должны быть установлены.
Если вы атакующий , то вы хотите захватить сеанс . Но есть простой способ перехватить сессию, несмотря на флаг HTTPOnly
. Вы все еще можете ездить на сессии, не зная идентификатора сессии. MySpace Samy worm сделал именно это. Он использовал XHR , чтобы прочитать токен CSRF и затем выполнить авторизованную задачу. Таким образом, злоумышленник может сделать почти все, что может сделать зарегистрированный пользователь.
Люди слишком сильно верят в флаг HTTPOnly
, XSS все еще можно использовать. Вы должны установить барьеры вокруг чувствительных функций. Например, для изменения пароля необходимо указать текущий пароль. Способность администратора создать новую учетную запись должна требовать капчу, то есть метод предотвращения CSRF , который нельзя легко обойти с помощью XHR .