Защита XSRF в Ajax разрабатывает приложение

Мы в настоящее время разрабатываем совершенно основанное на Ajax приложение, которое будет взаимодействовать с сервером через УСПОКОИТЕЛЬНЫЙ API. Я рассмотрел потенциальные планы защитить от нападений на XSRF на API.

  1. Пользователь аутентифицирует и получает сеансовые куки, которые также дважды отправлены с каждым запросом.

  2. Мы реализуем потребителя OAuth в JavaScript, получаем маркер, когда пользователь входит в систему, и подпишите все запросы с тем маркером.

Я склоняюсь к подходу OAuth, главным образом потому что я хотел бы обеспечить сторонний доступ к нашему API, и я не должен буду скорее реализовывать две схемы аутентификации.

Есть ли какая-либо причина, почему потребитель OAuth не работал бы в этой ситуации?

7
задан James Emerton 23 May 2009 в 17:11
поделиться

1 ответ

Самый простой способ предотвратить XSRF - проверять referer каждого RESTful запроса, чтобы убедиться, что запрос исходит из того же домена. Куки сессии важны для сохранения состояния, но они не защитят от XSRF, потому что они также будут отправлены с поддельным запросом. Система защиты XSRF на основе referer часто встречается на встроенном сетевом оборудовании с ограниченными требованиями к памяти, Motorola использует этот метод на большинстве своего оборудования. Это не самая надежная защита XSRF, защита на основе маркеров лучше, но обе системы все еще можно обойти с помощью XSS. Самая большая проблема с защитой XSRF на основе маркеров в том, что требуется много времени, чтобы вернуться и исправить каждый запрос, и вы, вероятно, пропустите несколько запросов.

Обязательно ознакомьтесь с политикой одинакового происхождения и просканируйте свой сайт на наличие XSS. Вам также следует прочитать OWASP Top 10 за 2010 год A3-Broken Authentication and Session Management.

0
ответ дан 7 December 2019 в 12:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: