CSRF – Spring Security в деталях

Наверняка каждый разработчик веб-приложений или сайтов на практике сталкивался с защитой от CSRF-атак, предоставляемой фреймворками и библиотеками. В фреймворке Spring Security защита от этого вида эксплойтов тоже присутствует, однако многие начинающие разработчики предпочитают отключать её, не пытаясь разобраться в природе CSRF-атак, способах защиты от них и правильном использовании средств защиты.

В этой статье будет описан принцип действия CSRF-атаки и продемонстрированы несколько вариантов приведения таких атак. Затем будут перечислены признаки уязвимости веб-приложений перед CSRF-атаками и способы защиты от них. После этого будет подробно описана защита от CSRF-атак, предоставляемая Spring Security: компоненты, реализующие её, и их настройка. В завершение статьи будет описано несколько сценариев использования защиты от CSRF-атак в разных видах веб-приложений: в сайтах со статическими страницами, в сайтах с асинхронными запросами и в одностраничных веб-приложениях (SPA, PWA).

Читать далее CSRF – Spring Security в деталях

Spring Security: Маскировка CSRF-токена

В своих проектах я крайне редко использую защиту от CSRF-атак, предоставляемую Spring Security, ввиду того, что подавляющая часть этих проектов — REST-сервисы без хранения состояния. Но один из проектов использует файлы cookies на стороне браузера для хранения состояния, а в этом случае для защиты от CSRF-атак нужно использовать средства Spring Security. И при переводе проекта на Spring Boot 3 я обнаружил, что Spring Security начал игнорировать передаваемый в заголовке CSRF-токен.

Читать далее Spring Security: Маскировка CSRF-токена