Достаточно ли хранения маркера CSRF в cookie для предотвращения CSRF? - PullRequest
0 голосов
/ 19 сентября 2018

Для предотвращения CSRF Spring Security и AngularJS используют метод для хранения токена CSRF в cookie.Затем для каждого запроса веб-клиент отправляет серверу для проверки тот же токен, что и cookie, и заголовок HTTP.Они приходят из этого блога.https://spring.io/blog/2015/01/12/the-login-page-angular-js-and-spring-security-part-ii#csrf-protection

Однако я думаю, что с другой стороны, хакер может подделать cookie и заголовок HTTP, чтобы отправить поддельный запрос.Это правильно?

1 Ответ

0 голосов
/ 19 сентября 2018

Что я понял со стороны ASP .net токена CSRF для проверки токена защиты от подделки, так это то, что этот токен будет храниться в двух местах.
1. На странице, которая когда запрос сделан из углового положения, мы включим этот токен в заголовок запроса.
2. В cookie, который будет автоматически получен запросом при запуске из браузера.

На стороне сервера, когда запрос получен, сервер расшифровывает оба токена и проверяет запрос, если оба имеют значимое отношение (это отношение определяется на сервере с помощью алгоритма) между ними.

Теперь, здесь, злоумышленник не может выяснить эти 2 строки любой ценой времени, потому что алгоритм проверки подделки не раскрывается, и каждый раз, когда новые строки генерируются на ходу. И второе, я думаю, что злоумышленник не можетнапрямую включите cookie в запрос, потому что cookie берется из браузера.Они могут быть инструментами для этого.Но если используемый алгоритм не раскрыт, злоумышленник не может выполнить атаку csrf.

Я думаю, что это может быть то же самое для стороны весны Java.

...