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, доступные клиентским сценариям.

Дополнительное чтение:

Другие вопросы по тегам