Чтение это сообщение в блоге о файлах cookie HttpOnly заставило меня задуматься, возможно ли получить файл cookie HttpOnly с помощью любой формы XSS? Джефф упоминает, что это «значительно поднимает планку», но звучит так, будто не полностью защищает от XSS.
Помимо того факта, что не все браузеры поддерживают эту функцию должным образом, как хакер может получить файлы cookie пользователя, если это HttpOnly?
Я не могу придумать способ сделать так, чтобы файл cookie HttpOnly отправлялся на другой сайт или считывался скриптом, поэтому кажется, что это безопасная функция безопасности, но меня всегда удивляло, насколько легко некоторые люди могут работать со многими слои безопасности.
В среде, в которой я работаю, мы используем исключительно IE, поэтому другие браузеры не беспокоят. Я специально ищу другие способы, которыми это может стать проблемой, которая не зависит от конкретных недостатков браузера.

Сниффинг пакетов может читать файлы cookie, передаваемые по http. Но может не подпадать под XSS.
Если браузер не поддерживает HttpOnly, атака завершается успешно.Обновлено: хорошо, вас это не беспокоит. Это нормально, но я оставлю это уведомление только для справки. Полезно указать это прямо.
Другой способ кражи, помимо прослушивания сети, - это прямой контроль над компьютером пользователя. Затем файлы cookie можно будет прочитать из файла. Если это файл cookie сеанса, он, конечно же, будет удален после закрытия браузера.
Кстати, кража cookie сеанса - не единственная возможная «полезная нагрузка» XSS-атаки. Например, это может сделать вашу защиту CSRF бесполезной. Он может изменить содержимое вашего сайта, чтобы обмануть пользователя. И многое другое.
Так что лучше защитите себя хорошим способом (escape-выход), и думайте о HttpOnly как о дополнительный слой защиты.
Использование файлов cookie HttpOnly предотвратит XSS-атаки из-за получения этих файлов cookie.
Пока не:
Как заметил другой автор: XSS - не единственная угроза, и захват файлов cookie - не единственная угроза со стороны XSS. Я уверен, что вы это знали - я просто завершаю!
Удачи!
Согласен, я никогда не понимал, почему так много внимания уделяется «воровству» файлов cookie. Разве злоумышленнику не проще и безопаснее провести атаку из собственного браузера жертвы? Например. Они могут использовать свой вредоносный сценарий для отправки злонамеренного запроса непосредственно на сервер (при этом действительный файл cookie httpOnly пользователя все равно будет прикреплен).
Во-первых, как отмечали некоторые другие, XSS может разрешает другие полезные данные, а не только кражу файлов cookie.
Но, является там все равно украсть httpOnly cookies, с XSS? (игнорируя вопрос о поддержке httpOnly?) .... Ответ: да. Подмножество XSS известно как Межсайтовая трассировка (XST) (или перейти к исходному Научно-исследовательская работа). В этой атаке полезная нагрузка XSS отправляет HTTP-запрос TRACE на веб-сервер (или доверенное лицо, вперед ИЛИ назад), который возвращает клиенту полный запрос - ВКЛЮЧАЯ ВАШИ КУКИ, httpOnly или нет. Затем полезная нагрузка XSS может анализировать возвращенную информацию и извлекать эти восхитительные файлы cookie ...
Кстати, еще одно «подмножество» (своего рода) XSS включает в себя введение полезной нагрузки в заголовки ответа. Хотя это и похоже, это не точно XSS, а внедрение заголовка может даже привести к Разделение HTTP-ответа (HRS) - который намного более мощный, позволяет почти полный контроль над другими клиентами, отравление кеша и, конечно же, доступ к файлам cookie, если это необходимо.
Ничего себе, это главный ответ, и он совершенно неверен. Цитата из официального документа, написанного в 2003 году. Если это лучшая XSS-атака для получения файлов cookie только для HTTP, то мы все в полной безопасности.
@mmla "неправильно", или, может быть, вы имеете в виду "устаревший"? Как видите, это было написано более 10 лет назад, это как десятилетие во времени Интернета. Тогда это было действительно правильно, так как это предшествовало появлению некоторых новых механизмов. Вы можете добавить свой собственный обновленный ответ, и я с радостью отнесусь к нему, или просто задайте новый вопрос и ответьте на него :-)
JavaScript может изменять HTML на странице, поэтому httpOnly делает нет означает, что вы защищены от XSS.
Я понимаю, что XSS может использовать другие векторы атак. Я специально спрашивал о файлах cookie, потому что не знал, что есть способы получить файлы cookie httpOnly через JavaScript.
Обнюхивание пакетов возможно, но в моем случае я использую HTTPS-соединение с цифровым сертификатом, что несколько затрудняет прослушивание пакетов.