Достаточно ли токена CSRF для предотвращения атаки XSSI? - PullRequest
0 голосов
/ 10 ноября 2019

Я прочитал о предотвращении XSSI-атаки в Google Gruyere page .

Три главных рекомендаций от Грюйера до предотвращения XSSI-атаки:

  1. Сначала используйте токен XSRF, как обсуждалось ранее, дляубедитесь, что результаты JSON, содержащие конфиденциальные данные, возвращаются только на ваши собственные страницы.
  2. Во-вторых, ваши страницы ответов JSON должны поддерживать только запросы POST, что предотвращает загрузку сценария через тег сценария.
  3. В-третьих, вы должны убедиться, что скрипт не является исполняемым. Стандартный способ сделать это - добавить к нему некоторый неисполняемый префикс, например])} while (1);

Дополнительные два:

  1. Существует вариант JSON под названием JSONP, который следует избегать, поскольку он позволяет внедрять сценарии в соответствии с дизайном.
  2. И есть E4X (Ecmascript for XML), который может привести к тому, что ваш HTML-файл будет проанализирован как скрипт. Удивительно, но один из способов защиты от атак E4X - это вставить в файлы недопустимый XML, как показано выше.

Просмотр презентации: видео , слайды .

Достаточно ли токена CSRF для предотвращения атаки XSSI?

Без добавления неисполняемого префикса к ответу (например, как это делает Facebook с для (;;) или Google - )]} ', \ n ).

Если нет, как выполнить XSSI-атаку, когда токен CSRF установлен?

1 Ответ

0 голосов
/ 11 ноября 2019

Вы заботитесь об этой атаке, когда:
1. Ваш сайт использует dynamicJS.
2. И на этих страницах содержатся личные данные или секретный токен (csrf-token).

Если это так, используйте следующие рекомендации:
1. Храните статический сценарий и контент отдельно от пользовательских данных.
2. Используйте строгий метод POST для JSON. (это можно обойти).
3. Используйте токены CRSF для проверки перед ответом.

Таким образом, токенов CSRF достаточно для обеспечения безопасности, но безопасность рекомендует включать все лучшие практики.

Спасибо,
Jaikey

...