Статья Тихая угроза: уязвимости Open Redirect в клиентских приложениях с OAuth

Admin

Администратор

Тихая угроза: уязвимости Open Redirect в клиентских приложениях с OAuth​

Если сервер авторизации OAuth (AS) поддерживает самостоятельную регистрацию клиентских приложений, а также скрытую аутентификацию, то, скорее всего, его можно использовать в качестве открытого редиректора

Клиентские приложения OAuth з самостоятельной регистрацией​

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

Такие платформы, как Facebook, Google и Microsoft, позволяют разработчикам регистрировать собственные клиентские приложения OAuth. Этот процесс обычно включает предоставление разработчиком сведений о своем приложении, таких как его название, сайт и предполагаемое использование интеграции OAuth.

Тихая авторизация

Тихая авторизация в контексте OAuth/OIDC — это механизм, который упрощает пользовательский опыт за счет сокращения количества повторных входов в систему и запросов согласия при каждом запуске OAuth-потока.

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

Использование самостоятельной регистрации и тихой авторизации клиентских приложений для уязвимостей типа Open Redirect​

Комбинация саморегистрации клиентских приложений и тихой авторизации в реализациях OAuth может в некоторых случаях использоваться для создания открытых перенаправлений (open redirects).

Как все устроено​

  1. Регистрация клиентского приложения: Злоумышленник регистрирует свое клиентское приложение на платформе, которая предоставляет портал самообслуживания для разработчиков (например, developer.example.com) с поддержкой OAuth. Обычно этот процесс включает отправку основной информации о приложении и получение учетных данных OAuth (идентификатор клиента и секретное слово).
  2. Создание открытого перенаправления:
  • Под видом разработчика клиентского приложения наш злоумышленник регистрирует локацию redirect_uri с нужным ему URL-адресом назначения. Этот параметр определяет, куда пользователь будет перенаправлен после авторизации в стандартном процессе OAuth.
  • Зарегистрировав вредоносное приложение и указав желаемый адрес в качестве допустимого redirect URI, злоумышленник использует тихую авторизацию в своих целях, устанавливая значение параметра prompt на конечной точке авторизации в none: prompt=none
  • 1768856585757
  • Исполнение и последствия: В реализации, поддерживающей тихую авторизацию, такое открытие конечной точки авторизации для клиентского приложения приведет к ошибке — либо из-за отсутствия активной сессии, либо если пользователь авторизован, но не дал разрешения этому приложению. Тогда тихая авторизация не сработает. Однако, поскольку тихая авторизация указана, сервер авторизации совершит переадресацию без участия пользователя на указанную в параметре redirect_uri локацию URI, добавив сообщение об ошибке в качестве параметра URL вместо кода авторизации.

Проблемы безопасности и последствия​

Само по себе открытое перенаправление относительно безвредное и в принципе уязвимостью не считается. Впрочем, такой паттерн поведения может стать полезным в более сложных цепочках атак.
  • Обход фильтра SSRF: Злоумышленники могут обходить фильтры, ограничивающие домены в запросах от пользовательских URL, что потенциально может привести к атакам типа SSRF (Server-Side Request Forgery — “серверная подделка запроса”).
  • XSS (межсайтовый скриптинг): Эта проблема не такая частая, но, если на сервере авторизации настроен написанный на JavaScript механизм перенаправления с клиентской стороны, а введенная пользователем локация URI не фильтруется, в некоторых реализациях злоумышленник может добиться выполнения произвольного JavaScript-кода в контексте сервера авторизации.
  • Фишинг и социальная инженерия: Хотя серьезность последствий часто оспаривается, факт остается фактом: пользователи могут быть перенаправлены на фишинговые сайты, что может привести к краже учетных данных или другим мошенническим действиям. Существуюют и более масштабные сценарии — например, цепочка с уязвимостью в виде диплинков: там использование открытого перенаправления для открытия ссылки может вызвать системное сообщение, что приложение “Пример” запрашивает открыть пример.com, а не хакер.com.
Стоит отметить, что я не упоминаю кражу учетных данных OAuth, так как мои тесты показали, что из-за поведения с параметрами URL маловероятно, что сервер авторизации передаст параметр code на адрес назначения злоумышленника.

Меры предотвращения​

На тему безопасности OAuth говорится, хоть и несколько расплывчато, в проекте Internet Engineering Task Force:

«Сервер авторизации ДОЛЖЕН принимать меры для предотвращения этих угроз. Сервер авторизации ДОЛЖЕН всегда авторизовать пользователя первым и, за исключением сценариев тихой авторизации, при необходимости запрашивать у него учётные данные до перенаправления. Оценив риски, сервер авторизации должен принять решение, можно доверять URI перенаправления или нет. Можно учитывать аналитику URI, выполненную внутренне или через внешнюю службу, чтобы оценить достоверность и надежность содержимого за URI, источник URI переадресации и прочие данные клиента».

Я считаю, что, в идеале и там, где это целесообразно, новые или значительно измененные после обновления клиентские приложения должны проходить ручную проверку и утверждение. Это часть стратегии глубокоэшелонированной защиты.
 
Похожие темы
Support81 Критическая угроза 9,8 из 10: новый ботнет захватывает ИИ-серверы по всему миру Новости в сети 0
Support81 Вредоносный код в тегах <img>: новая угроза для онлайн-платежей Новости в сети 0
Support81 Квантовая угроза: почему Европол призывает внедрять защиту уже сейчас Новости в сети 0
Support81 Цифровая угроза нового уровня: США обсуждают создание отдельного киберподразделения Новости в сети 0
Support81 После TikTok настала очередь Temu: новая китайская угроза для данных американцев Новости в сети 0
Support81 ShadowRoot: новая вымогательская угроза обрушилась на турецкий бизнес Новости в сети 0
Support81 Telegram как минное поле: новая угроза для пользователей Android Новости в сети 0
Support81 HTML Smuggling — новая угроза для европейской кибербезопасности Новости в сети 1
S Коронавирус - реальная угроза или манипуляции? Свободное общение 4
G APT-атака. Сложная постоянная угроза или целевая кибератака. Часть 1 Полезные статьи 1
Admin Интересно Один файл + один клик = ODay в MS Office. Microsoft принимает меры против эксплуатируемой уязвимости. Новости в сети 0
Admin Статья Безопасная разработка и уязвимости кода. [PART 2] Уязвимости и взлом 0
Admin Статья Безопасная разработка и уязвимости кода. [PART 1] Уязвимости и взлом 0
Admin Статья Безопасность Docker: теория, уязвимости и практические рекомендации Уязвимости и взлом 0
Admin Статья Свежие уязвимости для ОС Windows. Уязвимости и взлом 0
Support81 Хакеры захватили 8,7 млн WordPress-сайтов за два дня — атакуют через критические уязвимости в популярных плагинах Новости в сети 0
Support81 Важно! Мобильный аудит Wi-Fi сетей: как быстро найти уязвимости с помощью Stryker Уязвимости и взлом 0
Support81 Продавали чужие уязвимости — проморгали свою: очередное возрождение BreachForums провалено Новости в сети 1
Support81 CouchDB как проходной двор: эксплойты для критической SSH-уязвимости уже гуляют по сети Новости в сети 0
Support81 Патчи не успевают: хакеры эксплуатируют уязвимости быстрее, чем их исправляют Новости в сети 0
Support81 Дешевле – не значит лучше: как уязвимости DeepSeek уничтожают защиту бизнеса Новости в сети 1
Support81 Семь ключей к данным: какие уязвимости самые «модные» у киберпреступников Новости в сети 0
Support81 Урок не выучен: Onyx теряет $3,8 млн из-за старой уязвимости Новости в сети 0
Support81 Gh0st RAT, RedTail, XMRig: какие ещё угрозы могут проникнуть на ваш компьютер из-за уязвимости в PHP Новости в сети 0
Support81 Netflix выплатил уже более миллиона долларов за найденные уязвимости в своих продуктах Новости в сети 0
Support81 Tinyproxy: как «поломанный» канал связи стал причиной уязвимости 50 000 серверов Новости в сети 0
Emilio_Gaviriya Статья Уязвимости в ядре Linux и привилегии через nf_tables и ksmbd. Анонимность и приватность 0
Emilio_Gaviriya Статья Client Side-уязвимости. Уязвимости и взлом 0
Support81 0-day уязвимости под общим названием BitForge угрожают криптовалютным кошелькам Новости в сети 0
Denik Интересно Уязвимости ProxyShell эксплуатируют для установки бэкдоров Новости в сети 0
SKYLL Интересно Уязвимости камер видеонаблюдения Уязвимости и взлом 1
E Уязвимости в SolarWinds позволяли перехватить контроль над Windows-серверами Новости в сети 0
E Хакеры взломали ряд госорганов США с помощью еще одной уязвимости в ПО SolarWinds Новости в сети 0
H Как просканировать любое устройство на уязвимости? Уязвимости и взлом 1
Denik Интересно Хакеры используют уязвимости в почтовом приложении iOS для доступа к криптовалютным кошелькам Новости в сети 2
L Уязвимости сайта на asp Уязвимости и взлом 0
S Hack the Web. Взламываем сайт. Используем и эксплуатируем уязвимости. Уязвимости и взлом 1
B В новых процессорах Intel нашли версию уязвимости Zombieload Новости в сети 1
D Уязвимости Раздачи и сливы 0
M Проекты ФСБ: от деанонимизации пользователей браузера Tor до исследования уязвимости торрентов Новости в сети 2
M Cisco исправила опасные уязвимости в промышленных и корпоративных решениях Новости в сети 0
× "Nessus" и Уязвимости Уязвимости и взлом 0
G Ищем уязвимости в WordPress с помощью plecost Уязвимости и взлом 0
Admin Усиливаем ddos атаки с помощью уязвимости в Memcached Полезные статьи 0
S Уязвимости в банкоматах Diebold Opteva позволяют украсть деньги из устройств Новости в сети 0
S В IoT-устройствах AGFEO обнаружены уязвимости Новости в сети 0
R Серия коротких видео об уязвимости, взломе и способах защиты Полезные статьи 9
Admin Тестирования уязвимости в продукции Microsoft Office - CVE-2017-0199 Уязвимости и взлом 0
P Крадем учетные записи пользователей с помощью уязвимости Полезные статьи 0
Admin Статья. Уязвимости в Гос Структурах(образования). Взлом Полезные статьи 3

Название темы