Проверка подлинности токена и защита XSRF / XSS

Я читал об аутентификации токена и возможности атак XSRF и XSS, чтобы получить информацию аутентификации.

Я понимаю, что для предотвращения атак XSRF, это популярный подход, чтобы прочитать пользовательский токен аутентификации из cookie-файла и затем добавить его в пользовательский заголовок запроса перед выполнением любых запросов AJAX. Затем сервер может запустить проверку заголовка запроса, а не файла cookie. Я считаю, что AngularJS использует этот подход: https://docs.angularjs.org/api/ng/service/$ http

Моя путаница возникает при предотвращении атак XSS. Очевидно, что лучше всего убедиться, что ни один пользовательский ввод не может внедрить javascript, но допустим, что найден недостаток, поскольку упомянутый выше файл cookie необходимо прочитать, чтобы установить его значение в заголовке запроса, не является ли он уязвимым для XSS атаки? Поскольку cookie не может быть установлен только на HTTP, может ли злоумышленник не прочитать cookie, чтобы получить токен аутентификации, а затем подделать запрос? Если так, как это можно предотвратить?

Любая информация приветствуется.

1 ответ

Файл cookie будет уязвим только для атак XSS, если ваш сайт уязвим для атак XSS.

Таким образом, вы должны убедиться, что любой пользовательский ввод очищен перед отображением на странице.

Другие вопросы по тегам