Как прочитать безопасный файл cookie с помощью JavaScript


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

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

2 59

2 ответа:

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

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

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

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

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

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