Можно Ли Заработать На Мобильном Приложении Для Просмотра Рекламы За Деньги?

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

Статья написана сразу после того, как в приложении была обнаружена уязвимость.

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

На данный момент обновление приложения вышло на обе платформы.

Уже несколько лет AppNana (AppJoy) находится на волне популярности, ведь они дают возможность скачивать платные приложения из магазинов приложений для iOS и Android бесплатно, без СМС.

В чем подвох, спросите вы? Где спрятаны подводные камни? Все очень просто: вы тратите свое время на просмотр рекламы, установку фальшивых, неподписанных приложений по прямым ссылкам, а также делитесь своей личной информацией с полдюжиной рекламных агрегаторов для мобильных телефонов, передавая им всю информацию, к которой имеет доступ AppNana (в том числе и личную).

электронная почта).

Кажется, все ясно.

Бесплатный сыр бывает только в мышеловке, там тоже есть плата и она не соизмерима с вознаграждением.

Если быть точным, то минимальная сумма для «вывода» — 45 000 нанов (внутренняя валюта, 45 000 нанов = 2$), стартовый капитал — 10 400, ежедневные активные пользователи получают 400 нанов (если в предыдущий день смогли собрать 4000 нанов в так или иначе), одно «задание» оплачивается от 20 (большинство) до 450 нанов (пока было только одно такое задание), причем наибольшая сумма нанов получена пользователями через рефералов (2500 нанов приглашающему и приглашенный).

Теперь это становится яснее.

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

Получается, что все пользователи (500 000 - 1 000 000 по метрике Google Play) ничего не делают, кроме как создают несколько аккаунтов и по очереди рассылают себе приглашения? Не все так просто, об этом подумал Макс Гуан (китайский разработчик, живущий в Сан-Франциско).

Чтобы использовать реферальный код, который принесет вам 2500 нанов, вы должны сначала заработать 15 000 нанов, что само по себе является подвигом.

Ладно, оставим в покое «легальные» способы заработка.

Попробуем с другой стороны.

Установите Fiddler2 и прокси для Android. Настраиваем прокси для AppNana и смотрим запросы.

И они оказываются очень интересными.

Например этот: Опубликовать в appnana2.mapiz.com/api/nanaer_login электронная почта=someone%40example.com&password=1234567890&source=Android&android_id=abc Ответом будет УСПЕХ, и вам будет предоставлен файл cookie с идентификатором сеанса.

Кажется, все в порядке? Но этот скрипт никак не ограничивает количество запросов.

Грубая сила гарантирована.

К сожалению, если вы проверите все комбинации почты и пароля, сервер просто отвалится.

Хотя оказывается, что он может выйти из строя с пятисотой ошибкой, если android_id — пробел.

Попробуем решить задачу выбора электронной почты.

Для этого нам понадобится следующий запрос: ПОЛУЧАТЬ appnana2.mapiz.com/api/get_nanaer_info/Эemail=someone%40example.com В ответ вы получите полный список с input_invitation (количество принятых рефералов), paypal_email (AppNana получает его при выводе денег на PayPal), redeem_times (сколько раз было получено вознаграждение), login_times (сколько раз вы заходили в систему) ), bitcoin_address (используется для вывода на BitCoin), Offer_nanas (количество «заработанных» нанов), Register_ip (IP, использованный при регистрации), устройства (содержит список всех устройств, с которых был осуществлен вход, вместе с их mac-адресами и ios ID), email (адрес, использованный при регистрации), Lastlogin_ip (последний IP), nanas (баланс аккаунта), send_invitation (количество отправленных «реферальных» приглашений), Gift_email (дополнительный адрес для отправки подарочного кода).

И еще пара нерелевантных полей.

Что мы имеем? API, который предоставляет все пользовательские данные без авторизации.

Как он нам поможет? Просто загуглите взлом AppNana и мы сразу получим практически полный список людей, которые пытаются собрать как можно больше нано за счет рефералов.

В блогах можно найти посты с полутора тысячами комментариев, каждый содержит реферальный код и.

почти каждый привязан к аккаунту Google, так как блог работает на Blogger. Наша задача существенно упрощается: парсим результаты Google, находим все упоминания реферального кода (одна буква, затем 8 цифр), а рядом ищем ссылки на профиль Google или электронную почту для связи.

За пару часов такой парсер сможет создать качественный словарь для перебора вышеупомянутого скрипта.

Теперь у нас есть база данных из сотен, а то и тысяч пользователей с балансами их лицевых счетов.

Что мы можем сделать? Все.

Все.

Вы скажете, что это невозможно, но я еще не раскрыл все свои карты! Далее нам понадобятся еще два API: Опубликовать в appnana2.mapiz.com/api/invite_verify Опубликовать в appnana2.mapiz.com/api/redeem Первый активирует реферальный код и зачисляет на счет 2500 нанов.

Второй — выводит наны на биткойны или PayPal. Оба работают без авторизации.

Прежде всего, мы создадим пары аккаунтов, на счету которых будет более 15 000 нанов.

Затем мы возьмем реферальные коды, связанные с учетными записями, и обналичим их для всех счетов.

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

Учитывая, что многие активно используют чужие коды для получения реферальных вознаграждений, можно предположить, что 25% подключений уже использованы, что оставляет почти 750 новых подключений на аккаунт. Каждая ссылка приносит в систему 5000 нанов.

Обналичив все доступные нам реферальные коды (750 000 запросов), мы получим 3,75 миллиарда нано, распределенных по системе.

Если мы возьмем самое дорогое вознаграждение (1 200 000 нано за 100 долларов PayPal), то мы получим 312 500 долларов США или, если мы предпочитаем анонимность и готовы не платить, тогда мы можем вывести все деньги в биткойнах, что даст нам 267 857 долларов США в биткойнах.

в результате день конвертации.

При этом не учитываются уже имеющиеся балансы пользователей.

Все, что нам нужно сделать, это использовать API Redeem для перевода денег на нашу учетную запись PayPal или биткойн-кошелек.

Конечно, маловероятно, чтобы у стартапа с одним разработчиком, который одновременно является руководителем техподдержки (информация из профиля LinkedIn), есть аккаунт PayPal или биткоин-кошелек на $312 500, но если весь процесс автоматизирован и не вызовут серьезные подозрения, вы легко сможете снять кругленькую сумму.

Самое интересное, что это не является прямым нарушением публичной оферты услуги.

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

Он запрещает использование автоматизированного программного обеспечения для доступа к сервису в обход их системы безопасности и/или файла robots.txt (ни того, ни другого у них нет), а также модификацию и использование модифицированных версий программного обеспечения для несанкционированного доступа к инфраструктуре AppNana. Здесь все еще проще, модификация ПО не нужна, а запросы API никак не закрываются файлом robots.txt. Я снял 90 000 нанов со счета, на котором было более 1,5 миллионов нанов.

Затем я отправил письмо в техподдержку с просьбой отменить транзакцию и вернуть средства пользователю или хотя бы вернуть средства пользователю, если транзакция уже была завершена.

На следующее утро я получил ответ от самого Макса (владельца компании), в котором говорилось, что он уже знает (!) о проблеме и она решается.

Интересно, что этот API работает как минимум с мая 2013 года.

В приложении пользуется до миллиона человек.

Доходы от рекламы должны покрывать все затраты и при этом хватать на одного программиста, который закроет все дыры.

К счастью или к сожалению, это единственное приложение из 20 установленных мною из топа Google Play, содержащее очевидную уязвимость.

Почти половина установленных приложений построена на одном «движке».

Запросы были как под копирку, и соответственно они были защищены сеансовым ключом и требовали повторной авторизации при малейшем вмешательстве.

Паре приложений не удалось загрузить рекламу для отображения.

Другой, видимо, не собирался выплачивать деньги, так как баланс хранился в SharedPrefrences, а запросы отправлялись только для получения списка рекламодателей.

Теги: #appnana #appjoy #nanas #заработок через приложения #безопасность приложений #безопасность API #никто не читает теги #морковь #информационная безопасность #Разработка мобильных приложений

Вместе с данным постом часто просматривают: