Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 7822|Ответ: 1

Предотвращение CSRF-атак на свойство SameSite файла cookie

[Скопировать ссылку]
Опубликовано 17.04.2022 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, пользователи не получат куки GitHub при переходе, и переход всегда не входит.

Слабый: Предотвращение межсайтового взаимодействия, в большинстве случаев запрещено получать файлы cookie, за исключением GET-запросов (ссылок, предзагрузки, GET-формы), которые переключаются к адресу получателя; Как только установлены Строгий или Слабый, CSRF-атаки практически исчезают. Конечно, это при условии, что пользовательский браузер поддерживает свойство SameSite.

Атрибут SameSiteDefault SameSite=Lax[Эта операция применяется к версиям после того, как Google выпустил стабильную версию Chrome 80 4 февраля 2019 года]



Никакой: Нет предела.

Атрибут Secure также должен быть задан (cookies можно отправлять только через протокол HTTPS), иначе он будет невалиден. [Эта операция применяется к версиям после того, как Google выпустил стабильную версию Chrome 80 4 февраля 2019 года]


Протестируйте свойство SameSite

Мы динамически загружаем изображение площадки A через консоль F12 на площадке A, код выглядит следующим образом:

Из сетевого запроса видно, что когда сайт А запрашивает изображение доменного имени сайта А, он будетНоси печенье(У SameSite нет настроек, то есть LAX), как показано на изображении ниже:



Мы случайным образом находим B-сайт, затем динамически загружаем изображение сайта A и находим егоНе ношуЛюбое печенье, как показано ниже:



(Конец)





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

Mail To:help@itsvse.com