Javascript для использования куки с атрибутом samesite?
Если для файла cookie установлено строгое то же место, возможно ли отправить его с помощью javascript на другой сайт, например, с помощью javascript, чтобы получить файл cookie и отправить его другому пользователю?
2 ответа
Да, файлы cookie того же сайта могут быть прочитаны с использованием JavaScript. Таким образом, они уязвимы для атак XSS так же, как и любой другой файл cookie.
Вы можете проверить это самостоятельно, открыв Chrome Inspector на любом веб-сайте и введя следующее:
// Set cookie
document.cookie = 'auth=lol;samesite=strict';
// Read cookie
console.log(document.cookie); // "auth=lol"
Вы можете думать о httpOnly? Установка httpOnly предотвратит чтение в javascript и, следовательно, предотвратит XSS. https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
Да. Вы ссылаетесь на состояние, в котором вы запускаете скрипт в браузере клиента. samesite
cookie указывает на поведение запроса браузера, когда он обрабатывает файлы cookie сайта, но он по-прежнему доступен локально сценариями.
Как сказал @jameslol, вы можете обратиться к HttpOnly
помеченные куки. Сервер может установить HttpOnly
флаг для Set-Cookie
заголовок ответа. Если браузер вашей цели поддерживает HttpOnly
флаг, то локальные сценарии не могут получить доступ к cookie.
Однако, если браузер не поддерживает этот флаг, он вместо этого установит обычный файл cookie, предоставляя файлы cookie, доступные клиентским сценариям.
Дополнительное чтение: