Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 7822|Отговор: 1

Предотвратете CSRF атаки върху свойството SameSite на бисквитката

[Копирай линк]
Публикувано на 2022-4-17 20:24:47 | | | |
Собственост SameSite

Започвайки с Chrome 51, към бисквитките на браузъра е добавен нов атрибут SameSite, за да се предотвратят CSRF атаки и потребителско проследяване (злонамерено получаване на бисквитки от трети страни) и да се ограничи използването на бисквитки от трети страни, като по този начин се намаляват рисковете за сигурността.

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 протокола за бързо влизане и имплементирайте "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
Свойството SameSite може да бъде зададено на три стойности:Strict、Lax、None

Строг: Строго забранявайте на трети страни да получават бисквитки и не изпращайте бисквитки при никакви обстоятелства при различни сайтове; Бисквитките ще бъдат включени само ако URL адресът на текущата страница съвпада с целевата заявка. Това правило е твърде строго и може да причини много лошо потребителско изживяване. Например, ако има линк към GitHub на текущата уеб страница, потребителите няма да имат GitHub бисквитки, когато кликнат върху скока, а скокът винаги е бил нелогиран.

Лакс: Предотвратяване на крос-сайт, в повечето случаи е забранено да се получават бисквитки, с изключение на GET заявки (връзки, предварително зареждане, GET формуляри), които навигират до дестинационния URL; След като се настроят Strict или Lax, CSRF атаките практически се елиминират. Разбира се, това е при условие, че потребителският браузър поддържа свойството SameSite.

Атрибут SameSiteПо подразбиране SameSite=LAX[Тази операция се прилага за версии след като Google пусне стабилната Chrome 80 версия на 4 февруари 2019 г.]



Никой: Няма граница.

Атрибутът Secure също трябва да бъде зададен (бисквитките могат да се изпращат само по HTTPS протокола), в противен случай той няма да бъде валиден. [Тази операция се прилага за версии след като Google пусне стабилната Chrome 80 версия на 4 февруари 2019 г.]


Тествайте свойството на SameSite

Динамично зареждаме снимка на обект А през конзолата F12 на място А, кодът е следният:

Виждаме от мрежовата заявка, че когато сайт А поиска изображение на домейна на сайт А, той щеНосете бисквитки(SameSite няма настройки, т.е. Lax), както е показано на изображението по-долу:



Случайно намираме B сайт, след което динамично зареждаме снимката на A сайт и го намирамеНе носяВсяка бисквитка, както е показано по-долу:



(Край)





Предишен:jQuery hide не работи две решения
Следващ:Скритата видимост на ъглов елемент ngif се показва и скрива
Публикувано на 2022-4-17 21:20:07 |
Научи се да учиш...
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com