Власність SameSite
Починаючи з Chrome 51, до файлів cookie браузера додано новий атрибут SameSite, щоб запобігти CSRF-атакам і відстеженню користувачів (шкідливе отримання файлів cookie сторонніми сторонами), а також обмежити використання файлів cookie третіх сторін, зменшуючи ризики безпеки.
SameSite, визначений у RFC6265bis:Вхід за гіперпосиланням видно.
Огляд атаки CSRF:
Властивість SameSite можна встановити на три значення:Strict、Lax、None。
Строгий: Суворо забороняти третім сторонам отримувати файли cookie та не надсилати файли cookie за жодних обставин при крос-сайті; Файли cookie будуть включені лише якщо URL поточної сторінки збігається з цільовою адресою запиту. Це правило надто суворе і може спричинити дуже поганий користувацький досвід. Наприклад, якщо на поточній веб-сторінці є посилання на GitHub, користувачі не матимуть cookie GitHub під час переходу, і стрибок завжди був неувійдений.
Лакс: Запобігати міжсайтовій взаємодії, у більшості випадків заборонено отримувати файли cookie, за винятком GET-запитів (посилань, попереднє завантаження, GET-форми), які ведуть до адреси призначення; Після встановлення Strict або Loose атаки CSRF фактично зникають. Звісно, це за умови, що браузер користувача підтримує властивість SameSite.
Атрибут SameSiteDefault SameSite=Lax[Ця операція застосовується до версій після того, як Google випустила стабільну версію Chrome 80 4 лютого 2019 року]
Ніхто: Обмежень немає.
Атрибут Secure також має бути встановлений (файли cookie можна надсилати лише через протокол HTTPS), інакше він буде недійсним. [Ця операція застосовується до версій після того, як Google випустила стабільну версію Chrome 80 4 лютого 2019 року]
Протестуйте властивість SameSite
Ми динамічно завантажуємо зображення сайту A через консоль F12 на сайті A, код виглядає так:
З запиту мережі видно, що коли сайт A запитує зображення доменного імені сайту A, він будеНоси печиво(SameSite не має налаштувань, тобто Lax), як показано на зображенні нижче:
Ми випадково знаходимо B-сайт, а потім динамічно завантажуємо зображення сайту A і знаходимо йогоНе носитиБудь-яке печиво, як показано нижче:
(Кінець)
|