2008-10-23 2 views
13

Чтение this blog post about HttpOnly cookies заставило меня начать думать, можно ли получить HttpOnly cookie через любую форму XSS? Джефф упоминает, что он «значительно повышает планку», но звучит так, будто он не полностью защищает от XSS.Возможно ли, чтобы XSS-атака получала файлы HttpOnly?

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

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

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

ответ

19

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

Но, is все равно, чтобы украсть httpOnly cookies, с XSS?(игнорируя вопрос о поддержке httpOnly?) .... Ответ: Да.
Подмножество XSS известно как Cross-Site Tracing (XST) (или перейти к оригиналу research paper). Эта атака имеет полезную нагрузку XSS, отправляет HTTP-запрос TRACE на веб-сервер (или proxy, forward OR reverse), который будет отсылать клиенту полный запрос - ВКЛЮЧАЯ ВАШИ ПЕЧАТИ, httpOnly или нет. Полезная нагрузка XSS может затем разобрать возвращаемой информации, и получить эти вкусные печенья ...


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

-1

Пакет sniffing может читать куки, переданные по http. Но он не может подпадать под XSS.

+0

Пакетное обнюхивание может, но в моем случае я использую HTTPS-соединение с цифровым сертификатом, что делает его несколько сложнее обнюхивать пакеты. – 2008-10-23 01:34:31

4

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

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

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

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

1

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

Если:

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

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

Удачи вам!

0

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

+0

Я понимаю, что XSS может использовать другие атаки. Я специально спрашивал о файлах cookie, потому что я не знал, что есть способы получить HTTPOnly cookie через JavaScript. – 2010-05-27 17:59:50