Krasorion.ru

Упаковочные материалы

Подделка межсайтовых запросов

CSRF (англ. Сross Site Request Forgery — «Подделка межсайтовых запросов», также известен как XSRF) — вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP. Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника). Для осуществления данной атаки, жертва должна быть авторизована на том сервере, на который отправляется запрос, и этот запрос не должен требовать какого-либо подтверждения со стороны пользователя, который не может быть проигнорирован или подделан атакующим скриптом.

Данный тип атак, вопреки распространённому заблуждению, появился достаточно давно: первые теоретические рассуждения появились в 1988 году[1], а первые уязвимости были обнаружены в 2000 году.

Одно из применений CSRF — эксплуатация пассивных XSS, обнаруженных на другом сервере. Так же возможны отправка писем (спам) от лица жертвы и изменение каких-либо настроек учётных записей на других сайтах (например, секретного вопроса для восстановления пароля).

Содержание

Защита

Наиболее простым для понимания способом защиты от данного типа атак, является механизм, когда веб-сайты должны требовать подтверждения большинства действий пользователя и проверять поле HTTP_REFERER, если оно указано в запросе.

Другим распространённым способом защиты является механизм, когда с каждой сессией пользователя ассоциируется дополнительный секретный ключ, предназначенный для выполнения POST-запросов. Пользователь посылает этот ключ внутри тела каждого POST-запроса, при выполнении каких-либо действий, а сервер проверяет этот ключ. Преимуществом данного механизма является отсутствие необходимости осуществлять парсинг поля HTTP_REFERER, а значит и нет необходимости учитывать множество нюансов возможных вариантов присутствия или отсутствия различных элементов этого поля. Недостатком же являются: требование возможности организации пользовательских сессий и требование динамической генерации HTML-кода активных страниц сайта.

См. также

Примечания

  1. Cross-Site Request Forgery — много шума из-за ничего, Securitylab.ru, 13 марта 2007 г

Ссылки

  • Client side trojan issue (англ.)
  • CSRF на vkontakte.ru, habrahabr.ru — также большое обсуждение
  • Защита сайта от cross-site request forgery (CSRF), блог web-notes.ru
  • CSRF – атаки. (Cross-Site Request Forgery), inattack.ru — подробное техническое описание
  • The Cross-Site Request Forgery (CSRF/XSRF) FAQ (англ.), cgisecurity.com — подробное англоязычное описание

Подделка межсайтовых запросов.

© 2011–2023 krasorion.ru, Россия, Братск, ул. Ленинская 34, +7 (3953) 38-98-93