Вашей маме зять не нужен?

Вашей маме зять не нужен?

Kevin Mitnick

Сегодня речь пойдет о приложении для знакомств Tinder.

Как обойти платный функционал в Tinder?

Привет, Аноним.
Сегодня речь пойдет о приложении для знакомств Tinder. Ты наверняка замечал, сколько разных ограничений существует для пользователей базовой версии. Сервис предлагает купить премиум-акаунт, получить возможность бесконечно лайкать или открывать профили пользователей, которые лайкнули тебя. Сегодня я покажу тебе лайфхаки, которые позволяют обойти некоторые ограничения в мобильном приложении Tinder.
Также ты узнаешь как можно пропускать трафик через прокси-сервер и что с этим делать на конкретном примере.

Зачем нужен прокси-сервер и с чем его едят?

А ты спросишь, что такое прокси-сервер? Я отвечу просто, прокси-сервер — это наш посредник, через который будет проходить наш трафик с мобильного приложения Tinder и до сервера приложения. Заняв позицию "посредине" мы сможем анализировать трафик, изменять содержание запросов и перед отправкой на сервер. Более того, мы сможем получать боле детальную информацию в ответах. Это позволяет получить преимущество перед главным недостатком многих сервисов — обработка данных на стороне фронтенда. Среди популярных прокси-серверов можно выделить Mitmproxy, Charles, Burp Suite и Owasp ZAP.

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

Как настроить прокси-сервер?

Первое, что нужно сделать — пустить весь трафик через наш прокси-сервер (будем использовать Burp Suite). Нам вполне подойдет бесплатная версия, которая идет в списке установленных утилит в Kali Linux. Для других случаев можно скачать Community версию с официального сайта.

Для успешного эксперимента предполагается, что в нашей сети есть Wi-Fi роутер, мобильное устройство с приложением Tinder и машина с установленным Burp Suite Community Edition. Все устройства находятся в одной сети. После этого, заходим на машину с прокси-сервером и открываем Burp Suite->Proxy->Options и добавляем новый интерфейс с помощью кнопки Add. Нас интересует чтобы прокси-сервер работал на всех интерфейсах (All Interfaces) и выставляем порт 8080. На этом этапе нужно узнать IP машины с прокси-сервером (192.168.1.71).

Запуск Burp Suite
Запуск Burp Suite
Добавление нового интерфейса в Burp Suite

После этого, нужно добавить этот прокси-сервер для мобильного устройства. Далее на конкретном примере покажу, как это сделать для iOS и Android.Скажу, сразу что будет отличаться только настройка работы с прокси-сервером, манипуляции с Tinder не зависят от ОС смартфона.

Как пустить трафик через прокси-сервис в Android?

Шаг 1: Добавление прокси-сервера

Заходим в настройки, Wi-Fi и выбираем нужную Wi-Fi сеть. После этого переходим в "Proxy settings", выбираем "Manual" и вводим наш сервер(192.168.1.71) и порт(8080).

Шаг 2: Загрузка и установка сертификата 

Загрузка сертификатов на разных версиях Android происходит по-разному. Но основная идея заключается в том, чтобы скачать сертификат Portswigger, например через обычный браузер на ноутбуке и скинуть на телефон через почту, как прикрепленный файл.

Добавляем прокси в Firefox

Переходим на сайт http://burpsuite и скачиваем сертификат. Называем его cert.cer.

Загрузка сертификата с http://burp

После этого отправляем его на свой Android девайс. Можно через почту, телеграм или другой мессенджер. Главное чтобы сертификат оказался в файловом хранилище мобильного устройства. После этого переходим в настройки и ищем возможность установить сертификат с хранилища "Install from storage". Указываем путь к сертификату и после этого все запросы будут идти через наш прокси-сервер.

Установка сертификата Portswigger

Как пустить трафик через прокси-сервис в iOS?

Шаг 1: Добавление прокси-сервера

Заходим в настройки W-Fi, выбираем сеть и нажимаем на надпись "i". После этого переходим во вкладку "Configure Proxy" и вводим наш сервер(192.168.1.71) и порт(8080).

Настройка прокси на Iphone
Шаг 2: Загрузка и установка сертификата

После этого нужно подтянуть сертификат нашего Burp Suite, и весь трафик пойдет через наш прокси сервер. Для этого нужно перейти по ссылке http://burp и загрузить сертификат (Для скачивания нужно нажать на CA Certificate).

Скачивание сертификата BurpSuite

После скачивания сертификата, нужно перейти в настройки Iphone (General->Profiles->Install) и нужно установить профайл, после чего должна быть такая надпись:

Шаг 3: Добавление сертификата в список доверенных

Последний этап перейти в настройки телефона(General > About > Certificate Trust Settings) и убедиться, что в списке доверенных сертификатов есть PortSwigger CA.

На этом этап настройки закончен и можно переходить к самому интересному. Если кто-то потерялся, на одном из моментов, можно пройтись по мануалу по этой ссылке. Описание кажется достаточно большим, но можно за 2-3 минуту настроить все.

Что не так с Tinder? Или почему обрабатывать данные на стороне фронта плохо?

Теперь наш трафик будет проходить через Burp Suite. Работать мы будем со вкладками, Intercept и HTTP history. Рекомендую перейти на вкладку, Intercept и выставить значение "Intercept is off".

Ловкость #1: как посмотреть оригинальные фото девушек, которые лайкнули твой профиль?

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

После того, как ты зашел во вкладку, нужно найти этот запрос в истории прокси-сервера. Для этого нужно перейти во вкладку HTTP history и обратить внимание на запрос GET /v2/fast-match/teasers?locale HTTP/1.1.

HTTP history в Burp Suite

Если посмотреть ответ от этого запроса (Response), то можно увидеть оригинальные фото девушек, которые лайкнули твой профиль. Выглядеть это будет примерно в таком формате (ссылка изменена):

"url":"https://preview.gotinder.com/27be3245-8ere0-43238c0-b5f1-1d112340034232/original_755ergerg2-4erg7-47reg-93454e-bwe4234d5938.jpeg"
Содержание Response от Burp Suite
Оригинальное фото девушки

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

Ловкость #2: "твоя" всегда вторая

Есть еще одна интересная закономерность, если ты давно не заходил в приложение, или запускаешь его снова, на втором месте из предложенных профилей, будет девушка, которая лайкнула твой профиль. Чтобы на 100% убедиться в этой особенности я рекомендую залогиниться через веб-версию сайта Tinder. После того, как ты лайкнешь профиль, на втором месте, на 100% получишь совпадение. Можно повторять несколько раз.

Самое интересное, что с помощью первой ловкости ты уже будешь помнить внешность девушек поэтому на 100% будешь знать, с кем будет совпадение, а с кем нет. Используя эти две особенности можно быстро получить много совпадений и не тратить лайки впустую.

Заключение

Это далеко не первый и не последний пример проблемы, когда данные обрабатываются на фронте, а не на сервере(бэкенд). В случае Tinder это критическая уязвимость, которая позволяет обойти бизнес-логику и получить платный функционал в "базовую" комплектацию. Такую проблему можно встретиться и на других сервисах. Но это возможность, детально "посмотреть", что отправляется на самом деле и получить возможность использовать в своих целях.

Также, с помощью прокси-мервера можно анализировать и другие приложение. Хотя не все позволяют напрямую пропускать трафик через прокси-сервер (защита с помощью SSL Pinning). Но далеко не все имеют такую защиту. Поэтому можно, как минимум просмотреть историю в HTTP History Burp Suite, а как максимум, модифицировать запросы, чтобы получить что-то больше. Тот кто пробует, тот всегда находит. Поэтому рекомендую поиграться с помощью Burp Suite и пару других мобильных приложений.

Report Page