Методы защиты от CSRF - PullRequest
       14

Методы защиты от CSRF

1 голос
/ 03 декабря 2010

Может кто-нибудь указать мне информацию о том, как защитить приложения от CSRF?

Любой код, связанный с этим.

Я использую extjs для пользовательского интерфейса, Java на серверном сервере и tomcat.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 16 июля 2017

Использование идентификатора сеанса способом, который предлагает dan_waterworth, хотя и является простым, является очень плохой защитой.Злоумышленнику нужно только перехватить cookie-файл идентификатора сеанса, а затем обойти защиту в течение всего сеанса.

Идентификатор сеанса является файлом cookie, поэтому он отправляется с любым запросом.Таким образом, все, что нужно злоумышленнику для захвата sessionid, - это заставить ваше приложение отправить запрос на сервер под контролем злоумышленника.Это может быть сделано с помощью межсайтовой скриптинговой атаки, но также может быть сделано путем создания приложения и отправки форм iFrame (есть другие способы сделать это).

Взаимодействие, которое должно быть защищено от CSRF, должно включать информацию, которую злоумышленник не может знать заранее (токен CSRF), который уникален для сеанса, для страницы и для формы, а затем в идеале должен использоваться только один раз.Маркер CSRF должен быть представлен в форме, а не в файле cookie (по причине, указанной выше).Для получения подробной информации и примера реализации см. «Пример реализации» в листе защиты OWASP CSRF.Некоторые механизмы веб-приложений (например, Tomcat 8) и фреймворки (например, Spring, JSF) имеют защиту, которую вы можете применить, включив конфигурацию.

0 голосов
/ 03 декабря 2010

да, у меня есть простое решение, которое хорошо сработало для меня. Для каждого запроса на публикацию отправьте идентификатор сеанса в данных с помощью javascript (полученного из файла cookie), и на стороне сервера он просто должен проверить, что файл cookie сеанса и идентификатор сеанса в данных одинаковы для каждого запроса сообщения.

...