Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 7822|Відповідь: 1

Запобігти атакам CSRF на властивість файлу cookie SameSite

[Копіювати посилання]
Опубліковано 2022-4-17 20:24:47 | | | |
Власність SameSite

Починаючи з Chrome 51, до файлів cookie браузера додано новий атрибут SameSite, щоб запобігти CSRF-атакам і відстеженню користувачів (шкідливе отримання файлів cookie сторонніми сторонами), а також обмежити використання файлів cookie третіх сторін, зменшуючи ризики безпеки.

SameSite, визначений у RFC6265bis:Вхід за гіперпосиланням видно.

Огляд атаки CSRF:

ASP.NET CSRF-атаки Інкапсуляція запиту Ajax
https://www.itsvse.com/thread-8077-1-1.html

mvc ajax з AntiForgeryToken для запобігання CSRF-атакам
https://www.itsvse.com/thread-4207-1-1.html

Проаналізуйте протокол QQ Quick Login та реалізуйте «CSRF»
https://www.itsvse.com/thread-3571-1-1.html
Властивість 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 і знаходимо йогоНе носитиБудь-яке печиво, як показано нижче:



(Кінець)





Попередній:jQuery hide не працює — два рішення
Наступний:Прихована видимість кутового елемента ngif відображається і приховується
Опубліковано 2022-4-17 21:20:07 |
Навчися вчитися...
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com