[BugBounty] Раскрытие 5 миллионов ссылок в приватные чаты Telegram и возможность редактирования любой статьи telegra.ph

ukg-tvxlzlnqyob2rwc2_6lppau.jpeg

  Вот уже больше года я пользуюсь мессенджером Telegram: это удобно и, насколько мне казалось, полностью конфиденциально. Так как я исследователь безопасности web-приложений, то должен был проверить соответствующую версию приложения на уязвимости. Я не видел в этом острой необходимости из-за репутации мессенджера как «самого защищенного». Я думал, что зря потрачу своё время и ничего не найду. Но недавно, тестируя один сайт, который взаимодействовал с доменом t.me, мне довелось усомниться в безопасности Тelegram, и решимость проверить его на уязвимости быстро возросла.
  Всё началось с того, что я проверял на уязвимости сайт своего клуба, где ранее мной была куплена подписка на рекомендации по покупке криптовалюты.
  Регистрация на сайте доступна только по реферальным (пригласительным) ссылкам, а так же есть раздел для отправки сообщения куратору example.com/profile#curator. После тестирования здесь не оказалось ни csrf, ни xss, ни какой-либо другой уязвимости. Но особое внимание привлек раздел с сообщениями example.com/messages, где была представлена переписка с моим куратором example.com/msg132591. Я решил проверить этот url на iDOR уязвимость, увеличив id на одну позицию, и уязвимость подтвердилась — я увидел личные данные другого пользователя. Так как на сайте не было функции для отправки сообщения другим юзерам, мы можем с точностью говорить об iDOR + Disclosure Information.

image

  Двигаемся дальше — покупаем товар, после его успешной покупки происходит редирект на этот url example.com/? pay_act=success&text=Вы%20успешно%20%20купили%20продукт, при этом, текст можно редактировать — в основном, символы фильтруются, но есть место, где текст попадает в и никакой фильтрации нет. Пишем вот такой payload

  С помощью telegra.ph создается большое количество статей, поэтому эта уязвимость будет очень ценной для злоумышленников, так как позволяет изменить, например:


  Я отправил эти уязвимости на security@telegram.org, как и сказано в их сообщении о bug bounty, также, упоминание о bug bounty есть на площадке BugCrowd.
image
  Долгое время я не получал ответа. Потом я написал Павлу Дурову (это было глупо, согласен, ведь ему, кроме меня пишет много людей, и он не читает личные сообщения), а также, попросил знакомых поделиться контактами разработчиков. Отправил сообщение разработчику t.me/dmitry, но ему было все равно на уязвимости, он просто прочитал и проигнорировал письмо. Потом отправил письмо vk.com/antanubis. Он передал, чтобы проверили ящик и приняли мои уязвимости. Уже через 9 дней после репорта мне ответили.
  По первой уязвимости я получил такой ответ:

«Всё, что отображается на страницах t.me — username, bio, посты из публичных каналов — публичная информация»

При этом, разработчик уклонился от ответа на сообщение о раскрытии приватных ссылок. После того, как я второй раз показал на приватные ссылки для доступа, ответили, что исправят уязвимость и заплатят €50. Но, как уже оговаривалось, даже через 3,5 месяца никакого исправления нет. Даже наоборот, ситуация ещё больше обострилась.
  Как вы и сами понимаете, награда €50 для такой уязвимости мизерная и, можно даже сказать, несправедливая. Но это Bug Bounty, и они сами решают, сколько заплатить. Я не стал дальше дискутировать и просто согласился с суммой. Но за последнюю уязвимость я получил довольно щедрую награду, и, именно из-за таких «качель», сложно сделать какой-либо вывод об этой Bug Bounty, в отличии от vk.com, например.
  В итоге, я получил такие награды за присланные уязвимости:
Поиск уязвимостей на сайте клуба

  1. Blind Sql Injection — $4000.
  2. Уязвимость, раскрывающая коды к боту — $1000.
  3. Всё остальное — $1500.


Telegram

  1. Disclosure Information — €50.
  2. Open Redirect — €100.
  3. CSRF telegra.ph — €1400 ($1750).

Вывод из статьи:


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


P.S: Чтобы быть в курсе моих последних статей, рекомендую подписаться на telegram/twitter, ссылки внизу.

© Habrahabr.ru