Comments 2
Encryption based Token
…
Сервер генерирует токен, состоящий из идентификатора сессии и timestamp (для предотвращения атаки повторного воспроизведения)
В данном случае еще была бы уместна соль, так как перехватив токен (как, например случайно переданный через GET), можно подобрать сам идентификатор сессии. Ведь это же хеш, да?
0
Если кратко, то суть в том, что можно сделать вредоносную страничку, при входе на которую будут сабмититься скрытые формы на полезный сайт, на котором предположительно авторизован юзер, например менять пароль/логин и отправлять их злоумышленнику. Да, удивительно, но такой запрос будет авторизован. В 2019 году когда все сабмитится через xmlhttprequest это можно сказать неактуально, так как с другого сайта ajax запрос будет неавторизован, а на бэке не-ajax запросы можно запретить для всех или определенных роутов типа if (!req.isXmlHttpRequest()) res.status(403).send()
Даже если старый корпоративный сайт и формы повсюду, то просто на jQuery перехватываются все сабмиты и передаются через ajax. Имхо это проще, чем возня с CSRF токенами.
0
Sign up to leave a comment.
Шпаргалки по безопасности: CSRF