Повторное воспроизведение токена MSAL

#azure-active-directory #msal

#azure-active-directory #msal

Вопрос:

msal Предотвращает ли библиотека атаки с повторным воспроизведением токена?

Как это мешает кому access token -либо использовать URL-адрес перенаправления и использовать его в другом приложении?

Я не уверен Azure AD , обрабатывает ли защита или Microsoft Authentication Library (MSAL) Microsoft

Ответ №1:

Как это мешает кому-либо использовать токен доступа из URL-адреса перенаправления и использовать его в другом приложении?

MSAL ничего не может сделать с чем-либо, обращающимся к URL. Это обязанность браузера. Политика того же источника требует, чтобы только скрипт на странице с тем же источником мог получить доступ к URL-адресу iframe. Поэтому, даже если я помещу на свой веб-сайт iframe, который выполнял скрытый вход в одно из ваших приложений, я не смогу получить токен, если URL-адрес перенаправления находится на другом имени хоста, отличном от моего.

Допустим, в вашем приложении настроен один URL-адрес ответа: https://yoursite.com/aad-callback . Если бы я хотел использовать токен, мой сайт должен был бы быть размещен на yoursite.com . Я не могу попросить AAD вернуть токен на другой URL. Другим вариантом было бы перехватить его во время полета в ваше приложение. Но для этого потребуется промежуточное соединение TLS. Если кто-то может это сделать, у вас будут большие проблемы.

Повторные атаки предотвращаются с помощью одноразовых номеров, в каждом запросе аутентификации устанавливается новое значение: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/3fb9ce5a16ea462336eee62b496dfae8611f0fbc/lib/msal-core/src/AuthenticationRequestParameters.ts#L39

Комментарии:

1. @Juunas Отличная информация. Это понятно и легко понять. Это state еще один метод защиты конечного пользователя. Однако он используется для подделки межсайтовых запросов (CSRF). https://tools.ietf.org/html/rfc6749#section-10.12

2. Это отличный момент. Это, конечно, другая часть. MSAL также проверяет это here:github.com/AzureAD/microsoft-authentication-library-for-js/blob /… около строки 1556.