Бесплатно Экспресс-аудит сайта:

13.07.2022

Способы захвата аккаунта с помощью токенов OAuth

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

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

В некоторых сценариях злоумышленник может использовать OAuth, чтобы украсть токены и выполнить захват учетной записи одним щелчком мыши. 6 июля советник по безопасности в Detectify Франс Розен рассказал о нескольких потенциальных векторах атак и о том, как организации могут снизить риск компрометации.

Розен описал эти сценарии как «грязные танцы». Злоумышленник может злоупотребить процессами аутентификацией OAuth и связью между браузером и поставщиком услуг. Киберпреступник может комбинировать переключение типа ответа, недопустимые состояния и объекты URI-программирования для кражи кода авторизации или токена.

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

После входа в систему жертва будет перенаправлена ​​обратно на веб-сайт, при этом «танец» токена прерывается, так как для пользователя нет действительного состояния. Затем жертве будет показано сообщение об ошибке, и злоумышленник сможет передать данные и URL-адрес со страницы с ошибкой. «Теперь киберпреступник может войти в систему со своим собственным состоянием и кодом, полученным от жертвы».

«При правильном использовании OAuth при получении токена от сервиса необходимо также предоставить поставщику услуг redirect_uri для проверки. Если redirect_uri, который использовался в «танце», не соответствует значению, которое веб-сайт отправляет провайдеру, токен доступа не будет выдан», — объяснил Розен.

Также киберпреступник может выполнить XSS-атаку на сторонний домен, который получает данные URL-адреса во время аутентификации, и использовать API-интерфейсы для получения URL-адреса.

Чтобы снизить риск атаки, исследователь рекомендует просмотреть руководство по безопасности OAuth 2.0 . Следует убедиться, что страницы ответа авторизации OAuth не содержат сторонних ресурсов или ссылок. Пользователь должен разрешать только ограниченные типы и режимы ответов OAuth.