Возможно ли для атаки XSS получить файлы cookie HttpOnly? - PullRequest
15 голосов
/ 23 октября 2008

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

Помимо того, что не все браузеры поддерживают эту функцию должным образом, как хакер может получить куки пользователя, если они являются HttpOnly?

Я не могу придумать, как заставить куки HttpOnly отправлять себя на другой сайт или читать по сценарию, поэтому кажется, что это безопасная функция безопасности, но я всегда удивляюсь, как легко некоторые люди могут Обойти множество уровней безопасности.

В среде, в которой я работаю, мы используем исключительно IE, поэтому другие браузеры не представляют для вас проблемы. Я специально ищу другие способы, чтобы это могло стать проблемой, не зависящей от недостатков браузера.

Ответы [ 5 ]

23 голосов
/ 08 февраля 2009

Во-первых, как упоминали некоторые другие, XSS может разрешать другие полезные нагрузки, а не только кражу файлов cookie.

Но, есть ли в любом случае, чтобы украсть только куки, с XSS? (игнорируя вопрос поддержки httpOnly?) .... Ответ: да.
Подмножество XSS известно как Cross-Site Tracing (XST) (или перейдите к исходной исследовательской работе ). При этой атаке полезная нагрузка XSS отправляет HTTP-запрос TRACE на веб-сервер (или proxy , пересылка ИЛИ обратный), который возвращает клиенту полный запрос - ВКЛЮЧАЯ ВАШУ КУКИ, httpOnly или нет. Затем полезная нагрузка XSS может проанализировать возвращенную информацию и извлечь эти вкусные файлы cookie ...


Кстати, еще одно «подмножество» (своего рода) XSS включает в себя введение полезной нагрузки в заголовки ответа. Хотя это и похоже, это не точно XSS, а инъекция заголовка может даже привести к HTTP Response Splitting (HRS) - который гораздо более мощный, позволяет почти полный контроль над другими клиентами, отравление кэша и, конечно же, доступ к файлам cookie, если это необходимо.

5 голосов
/ 23 октября 2008

Если браузер не понимает HttpOnly, атака завершается успешно. Редактировать: ладно, вас это не касается. Это нормально, но я оставлю это уведомление только для справки. Полезно указать это явно.

Другим способом кражи, помимо прослушивания сети, было бы прямое управление компьютером пользователя. Затем куки могут быть прочитаны из файла. Если это файл cookie сеанса, он, конечно, будет удален после закрытия браузера.

Кстати, кража cookie сеанса - не единственная возможная «нагрузка» XSS-атаки. Например, это может сделать вашу защиту CSRF бесполезной. Это может изменить содержание вашего сайта, чтобы обмануть пользователя. И много других злых вещей.

Так что лучше защитите себя хорошим способом (выходной выход), * ​​1012 * и подумайте о HttpOnly как дополнительный уровень защиты.

2 голосов
/ 23 октября 2008

Использование файлов cookie HttpOnly предотвратит XSS-атаки от получения этих файлов cookie.

Если только:

  • Ваш браузер не поддерживает HttpOnly
  • в браузере существует неизвестная ранее уязвимость, которая нарушает HttpOnly
  • сервер был взломан (но в любом случае вы, вероятно, все равно).

Как заметил другой автор: XSS - не единственная угроза, а захват файлов cookie - не единственная угроза от XSS. Я уверен, что вы знали это - я просто завершаюсь!

Удачи!

0 голосов

JavaScript может изменить HTML-код на странице, поэтому httpOnly означает не , что означает, что вы защищены от XSS.

0 голосов
/ 23 октября 2008

Анализатор пакетов может считывать файлы cookie, передаваемые по http. Но это может не подпадать под XSS.

...