[Из песочницы] Фича, а не баг. Или как Rambler позволяют подменять отправителя письма

image

Добрый день. Меня зовут Алексей. Я занимаюсь написанием ботов и реверсом Android приложений с поиском в них уязвимостей.

Мне попало в руки приложение Рамблер/почта для Android. Цель была автоматизировать отправку почты средствами API мобильного приложения. Был запущен эмулятор MEmu и Charles, однако SSL отказывался показать свои запросы. В ход пошел реверс. В файле smali_classes2\okhttp3\OkHttpClient.smali были сделаны изменения, дабы убрать шифрование.

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

action=send¶ms={"to":{"hrthrtjrt12@mail.ru":"hrthrtjrt12@mail.ru"},"body":"

<\/div>erherh
---
.","is_html":"1","subject":"ergerg","action":"send","bcc":{},"from":{"eherhregerg@rambler.ru":""},"uploads":[],"cc":{}}

Нам интересен параметр from. Вместо него можно подставить абсолютно любой адрес почты с Рамблера. Вот что приходит на Яндекс:

image

К счастью у Mail.ru и Yandex есть такая функция как «Служебные заголовки» и в них мы увидим:

Delivered-To: hrthrtjrt12@mail.ru
Return-path:

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

Дальше больше. 1 аккаунт удалось загнать в бан с других аккаунтов просто добавив его адрес в поле from при отправке, письма от него не приходили. Однако если при отправке с этого «забаненного» аккаунта в поле From подставить любое другое мыло, то письма пойдут. Таким образом, мы понимаем, что Rambler считает отправителем юзера из поля from, а не реального.

В данный момент техническая поддержка Рамблера уже оповещена об уязвимости. Однако они ее таковой не считают. Цитирую:

image

Подобные попытки подмены и мобильных приложений Yandex и Mail.ru не сработали. К счастью, эти компании не такие «креативные». В их мобильных приложениях тоже есть уязвимости, но об этом в следующей статье. Надо же сперва оповестить разработчиков.

Данная статья — попытка исправить ситуацию и все таки признать это багом. Благодарю за внимание.

Комментарии (0)

© Habrahabr.ru