Возможно ли, чтобы XSS-атака получала файлы cookie HttpOnly?
Чтение этого сообщения в блоге о файлах cookie HttpOnly заставило меня начать думать: возможно ли, чтобы файл cookie HttpOnly был получен через любую форму XSS? Джефф упоминает, что он "значительно повышает планку", но звучит так, будто он не полностью защищает от XSS.
Помимо того, что не все браузеры поддерживают эту функцию должным образом, как хакер может получить файлы cookie пользователя, если они HttpOnly?
Я не могу придумать, как сделать cookie HttpOnly отправленным на другой сайт или прочитать script, поэтому кажется, что это безопасная функция безопасности, но я всегда удивляюсь, как легко некоторые люди могут обойти многие уровни безопасности.
В среде, в которой я работаю, мы используем IE исключительно потому, что другие браузеры не являются проблемой. Я смотрю конкретно на другие способы, которые могут стать проблемой, которая не зависит от конкретных ошибок браузера.
Ответы
Ответ 1
Во-первых, как отмечали некоторые другие, XSS может разрешать другие полезные нагрузки, а не только кражу файлов cookie.
Но, все равно, чтобы украсть httpOnly cookie, с XSS? (игнорируя вопрос о поддержке httpOnly?)....
Ответ: Да.
Подмножество XSS называется Трассировка кросс-сайтов (XST) (или перейти к исходному исследовательская работа). Эта атака имеет полезную нагрузку XSS, отправляет HTTP-запрос TRACE на веб-сервер (или прокси, пересылает OR reverse), который будет возвращаться к клиенту полный запрос - ВКЛЮЧАЯ ВАШЕГО ПЕЧАТИ, httpOnly или нет. Затем полезная нагрузка XSS может анализировать возвращаемую информацию и извлекать эти вкусные куки файлы...
Btw, еще одно "подмножество" (вид) XSS включает в себя инъекцию полезной нагрузки в заголовки ответов. Хотя подобный, это точно не XSS, а Header Injection может даже привести к HTTP Response Splitting (HRS) - что намного мощнее, позволяет почти завершить контроль других клиентов, отравление кешем и, конечно, доступ к куки файлам, если это того пожелает.
Ответ 2
Если браузер не понимает HttpOnly, атака удалась. Изменить: хорошо, вас это не касается. Это хорошо, но я оставлю это уведомление только для справки. Полезно указать это явно.
Еще один способ воровства, помимо обнюхивания сети, - это прямой контроль над пользовательским компьютером. Затем файлы cookie могут быть прочитаны из файла. Если это куки файл сеанса, он, конечно, будет удален после закрытия браузера.
Кстати, кража сессии cookie не единственная возможная "полезная нагрузка" атаки XSS. Например, это может сделать вашу защиту CSRF бесполезной. Это может изменить содержимое вашего сайта, чтобы обмануть пользователя. И многие другие злые вещи.
Так что лучше защитите себя в хорошем смысле (escape-выход), и подумайте о HttpOnly как о дополнительном уровне защиты.
Ответ 3
Использование HttpOnly файлов cookie предотвратит атаки XSS от получения этих файлов cookie.
Если только:
- ваш браузер не поддерживает HttpOnly
- в браузере до сих пор неизвестна уязвимость, которая прерывает HttpOnly
- сервер был скомпрометирован (но тогда вы, вероятно, все-таки заперты).
Как заметил еще один плакат: XSS - это не единственная угроза, и захват файлов cookie не является единственной угрозой со стороны XSS. Я уверен, вы знали это - я просто готов!
Удачи!
Ответ 4
JavaScript может изменить HTML на странице, поэтому httpOnly не означает означает, что вы защищены от XSS.
Ответ 5
Обнюхивание пакетов может читать файлы cookie, переданные через http. Но он не может подпадать под XSS.