Подтвердить что ты не робот

Как читать cookie только для http с помощью JavaScript

Есть ли способ прочитать безопасный файл cookie с javascript? Я пытался сделать это с помощью document.cookie, и насколько я могу видеть здесь http://securitymusings.com/article/909/secure-cookies-the-httponly-flag Я не могу получить доступ к защищенному файлу cookie таким образом.

Может ли кто-нибудь предложить мне обход?

4b9b3361

Ответ 1

Различные браузеры включают разные меры безопасности, когда установлен флаг HTTPOnly. Например, Opera и Safari не запрещают JavaScript писать в cookie. Тем не менее, чтение всегда запрещено в последней версии всех основных браузеров.

Но что более важно, почему вы хотите прочитать HTTPOnly cookie? Если вы разработчик, просто отключите флаг и убедитесь, что вы проверили свой код на xss. Я рекомендую вам избегать отключения этого флага, если это возможно. HTTPOnly должны быть установлены флаг HTTPOnly и "безопасный флаг" (который заставляет куки отправляться через https).

Если вы злоумышленник, то вы хотите захватить сеанс. Но есть простой способ HTTPOnly сеанс, несмотря на флаг HTTPOnly. Вы все еще можете ездить на сессии, не зная идентификатора сессии. Червь MySpace Samy сделал именно это. Он использовал XHR для чтения токена CSRF и затем выполнения авторизованной задачи. Таким образом, злоумышленник может сделать почти все, что может сделать зарегистрированный пользователь.

Люди слишком сильно верят в флаг HTTPOnly, XSS все еще можно использовать. Вы должны установить барьеры вокруг чувствительных функций. Например, для изменения пароля необходимо указать текущий пароль. Способность администратора создать новую учетную запись должна требовать капчу, которая представляет собой метод предотвращения CSRF, который нельзя легко обойти с помощью XHR.

Ответ 2

Вся суть HttpOnly файлов cookie заключается в том, что они не могут быть доступны JavaScript.

Единственный способ (за исключением использования ошибок браузера) для вашего script для их чтения - иметь на сервере взаимодействующий script, который будет считывать значение cookie и повторять его как часть содержимого ответа. Но если вы можете и хотите сделать это, зачем использовать HttpOnly файлы в первую очередь?

Ответ 3

Одним из способов является использование веб-инспектора safari, и на вкладке "Хранилище" вы можете увидеть все файлы cookie, httpOnly или нет, и просто выберите файл Command + C, чтобы скопировать его.

Получив строку, вы можете легко проанализировать ее с помощью любого анализатора файлов cookie или обычного JavaScript.

enter image description here