возможен ли CSRF / clickjacking после очистки файлов cookie?

Насколько я понимаю, CSRF и Clickjacking используют тот факт, что браузер автоматически включает куки в запросы к веб-странице (те, которые пришли с этого домена, то есть).

Таким образом, злоумышленник подготовит вредоносный сайт и вызовет какой-либо URL-адрес (например, Gmail) в надежде, что файлы cookie для этого URL-адреса все еще сохранены в моем браузере. Или они могут каким-то образом узнать, на какие веб-страницы я в данный момент вхожу в другую вкладку, а затем адаптировать свою атаку к этому?

И мой более насущный вопрос: после того, как я очистил кеш браузера или правильно вышел из системы, эти две атаки невозможны, не так ли?


person user3629892    schedule 15.01.2019    source источник


Ответы (1)


Злоумышленник, владеющий веб-сайтом и заставляющий вас посещать его (стандартный сценарий CSRF), обычно не имеет возможности в современных браузерах узнать, какие другие веб-сайты вы открывали на разных вкладках браузера (хотя всплыло несколько уловок время от времени, например, пытаясь встроить аутентифицированный ресурс с предполагаемого веб-сайта и проверить, не приводит ли это к ошибке, указывающей, что вы не вошли в систему - классика). Но они также могут просто угадать и провести атаку вслепую - может быть, они не будут знать, удалась ли она в конкретном случае, но иногда достаточно, если будут случайные успехи, неважно какие. CSRF есть CSRF, независимо от того, сможет ли злоумышленник узнать, сработало ли оно. Они все еще могут быть полезны в более сложных атаках в качестве строительного блока.

Что касается вашего другого вопроса - конечно, если ваш браузер не отправляет информацию для аутентификации, CSRF невозможен. Обратите внимание, что это не означает, строго говоря, файлы cookie, базовая HTTP-аутентификация также сохраняется для сеанса, и клиентские сертификаты также отправляются автоматически. Может быть, маргинальные, но иногда весьма важные. :) Также обратите внимание, что простой выход из пользовательского интерфейса не обязательно делает CSRF недействительным - сервер также должен правильно выйти из системы, что не всегда так. В качестве простого примера рассмотрим SAML SSO, когда у вас есть долгосрочный сеанс с поставщиком удостоверений и кратковременный сеанс с приложением. Вы нажимаете «Выйти», сеанс вашего приложения завершается, но единого выхода из системы может и не быть. Когда затем выполняется попытка CSRF с чем-то вроде полного http-сообщения, вы можете быть перенаправлены к IdP, а затем к приложению, которое может автоматически войти в систему и выполнить действие — без какого-либо взаимодействия с пользователем, облегчая CSRF. Опять же, возможно, крайний случай, но в некотором смысле все это касается крайних случаев.

person Gabor Lengyel    schedule 15.01.2019
comment
Круто, спасибо за ответ! Так что это немного сложнее, чем я думал: D Хорошо, что вы указали, что дело не только в куки. - person user3629892; 18.01.2019