Хочу рассказать, как компания Badoo охраняет аккаунты своих клиентов. Данная статья написана исключительно в образовательных целях. Я не подталкиваю никого к совершению противоправных действий и не преследую никакого злого умысла.
В марте 2013 года компания Badoo объявила конкурс «Проверь Badoo на прочность!».
Конкурс манил призами и я, довольная успехом в поиске уязвимостей для Yandex, зарегистрировалась на сайте, посмотрела, какие ссылки приходят в письмах, и просто вбила их в поисковую строку Google.
Вначале я обнаружила ссылки, по которым можно без подтверждения зарегистрироваться под чужим email адресом, в ответ получила письмо
Для поиска ссылок можно воспользоваться Google Dorks, на сайте собраны и рассортированы все возможные варианты запросов.
Потом обнаружила еще несколько «мелочей», ответ был таким же.
Последней моей находкой стало множество ссылок, по которым можно авторизоваться на сайте badoo.com, получить полный доступ к аккаунту пользователя, при этом, не обладая никакими хакерскими навыками. На выбор есть аккаунты пользователей из разных стран, достаточно просто перейти по ссылке, и вы авторизованы. К тому же по ссылкам можно переходить более одного раза.
Вбиваем в Google, например, site:https://eu1.badoo.com/access.phtml
Переходим по ссылкам и попадаем в профили пользователей:
В данном случае ответ я получила только на третье письмо:
Попыталась объяснить, в чем опасность того, что можно авторизоваться под чужим аккаунтом, и спросила можно ли написать статью на Хабрахабр, вот что получила в ответ:
Прошло больше четырех месяцев со времени моей переписки с Badoo, в Google все еще можно обнаружить авторизационные ссылки, которые не являются одноразовыми.
Еще один интересный запрос: inurl:register.phtml site:badoo.com
Данный запрос находит ссылки вида:
eu1.badoo.com/invite/register.phtml?u=243016784&i=72376&p=8&e=Anna%40yahoo.com&uin=ANY_EMAIL.COM&m=21&n=YWx1bW5pX2llZmV1aWlAeWFob29ncm91cHMuY29t&share_id=JiBZYnOGQk
Это приглашение пользователя на сайт, в данной ссылке можно в качестве параметра UIN передать любой email, ранее не зарегистрированный на сайте, при этом запроса подтверждения регистрации не потребуется. Единственное неудобство, что после перехода по ссылке из Google и замены email необходимо почистить cookie браузера.
Пример регистрации uin=Любой%20email, проверка на валидность отсутствует:
Я решила написать эту статью, так как компания Badoo не считает возможность авторизации под чужим аккаунтом уязвимостью.
P.S. Ищите баги с помощью Google: inurl:phtml site:badoo.com
P.P.S. После ответа Badoo в комментариях, по запросу inurl:forgot_enter site:badoo.com удалось получить доступ к активно используемому аккаунту (видео-доказательство, файл можно открыть в любом браузере).
Не все Bug Bounty programs одинаково полезны
В марте 2013 года компания Badoo объявила конкурс «Проверь Badoo на прочность!».
Конкурс манил призами и я, довольная успехом в поиске уязвимостей для Yandex, зарегистрировалась на сайте, посмотрела, какие ссылки приходят в письмах, и просто вбила их в поисковую строку Google.
Вначале я обнаружила ссылки, по которым можно без подтверждения зарегистрироваться под чужим email адресом, в ответ получила письмо
«Спасибо, но это не уязвимость. Пожалуйста, продолжайте проверять нас на прочность.»
Запросы Google Dorks, поиск ошибок
Для поиска ссылок можно воспользоваться Google Dorks, на сайте собраны и рассортированы все возможные варианты запросов.
Потом обнаружила еще несколько «мелочей», ответ был таким же.
Последней моей находкой стало множество ссылок, по которым можно авторизоваться на сайте badoo.com, получить полный доступ к аккаунту пользователя, при этом, не обладая никакими хакерскими навыками. На выбор есть аккаунты пользователей из разных стран, достаточно просто перейти по ссылке, и вы авторизованы. К тому же по ссылкам можно переходить более одного раза.
Вбиваем в Google, например, site:https://eu1.badoo.com/access.phtml
Переходим по ссылкам и попадаем в профили пользователей:
Переписка с Badoo
В данном случае ответ я получила только на третье письмо:
«Это не уязвимость, это ошибка и мы ее обязательно пофиксим.
Вы нам прислали несколько заявок касающихся проиндексированных гуглом страниц, на все эти заявки вам ответили что это не уязвимость.
Дело в том, что для легальных юзеров такие ссылки не приносят вреда — если имейл уже есть в системе, то нового пользователя уже не получится зарегистрировать с таким же имейлом.
Что касается ссылок на смену пароля, то они все недействительны — при переходе на них мы говорим что «ссылка прекратила действие».
Так что лишнее мы из выдачи гугла уберем, но не сразу — индексация не делается в момент.
Если вы все-таки нашли ссылки, которые действуют и позволяют навредить пользователям — пожалуйста пришлите подробную инструкцию как этим можно навредить другим пользователям, тогда мы засчитаем это уязвимостью.»
Попыталась объяснить, в чем опасность того, что можно авторизоваться под чужим аккаунтом, и спросила можно ли написать статью на Хабрахабр, вот что получила в ответ:
«Мы еще раз очень внимательно посмотрели на вашу заявку и решили, что данная проблема не является уязвимостью Badoo.
Когда пользователь регистрируется на нашем сайте, то сам указывает свой емейл. В некоторых случаях пользователи указывают емейл, который, например, автоматически открыто публикует все полученные сообщения. Либо пользователи сами каким-то иным способом открыто публикуют полученные от Badoo письма включая авторизационные ссылки. Затем, опубликованные ссылки находит Google и включает их в свою выдачу. Если вы зайдете на сайты, подобные birgo.mynet.com или twitmail.com, то найдете большое количество сообщений от нас, которые пользователи сами сделали публично доступными, сознательно или по ошибке:
birgo.mynet.com/badoo/archive/2011/2
twitmail.com/email/146079226/29/3-people-on-Badoo-are-waiting-to-chat-with-you-
Мы не контролируем такие действия пользователей и не можем их остановить. Однако, несколько недель назад мы предприняли меры по автоматической инвалидации авторизационных ссылок, найденных популярными поисковыми системами. Именно поэтому из огромного числа ссылок в выдаче Google только очень небольшое количество остается активными. Они были проиндексированы Гуглом до принятия нами мер. По мере переиндексации все такие ссылки будут деактивированы.
Данное решение жюри по вашей заявке является окончательным. »
Забота о клиентах
Прошло больше четырех месяцев со времени моей переписки с Badoo, в Google все еще можно обнаружить авторизационные ссылки, которые не являются одноразовыми.
Еще один интересный запрос: inurl:register.phtml site:badoo.com
Данный запрос находит ссылки вида:
eu1.badoo.com/invite/register.phtml?u=243016784&i=72376&p=8&e=Anna%40yahoo.com&uin=ANY_EMAIL.COM&m=21&n=YWx1bW5pX2llZmV1aWlAeWFob29ncm91cHMuY29t&share_id=JiBZYnOGQk
Это приглашение пользователя на сайт, в данной ссылке можно в качестве параметра UIN передать любой email, ранее не зарегистрированный на сайте, при этом запроса подтверждения регистрации не потребуется. Единственное неудобство, что после перехода по ссылке из Google и замены email необходимо почистить cookie браузера.
Пример регистрации uin=Любой%20email, проверка на валидность отсутствует:
Я решила написать эту статью, так как компания Badoo не считает возможность авторизации под чужим аккаунтом уязвимостью.
P.S. Ищите баги с помощью Google: inurl:phtml site:badoo.com
P.P.S. После ответа Badoo в комментариях, по запросу inurl:forgot_enter site:badoo.com удалось получить доступ к активно используемому аккаунту (видео-доказательство, файл можно открыть в любом браузере).