Вот уже больше года я пользуюсь мессенджером 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 <iframe/onload=alert(document.domain)> и отсылаем PoC владельцам ресурса. Также там был намёк на Server Side Include, но exec cmd отключена, при таком пейлоаде --#exec cmd="ls" --> (<! в начале, хабр не показывает этот payload) выбивало ошибку swal(' ', '"-->\'-->`-->[an error occurred while processing the directive](none).
?
Также, заметил страницу с товарами example.com/?pageid=13156, там нашлась слепая sql injection. В качестве доказательства опасности меня попросили предоставить названия бд и таблиц. Руками раскручивать слепую скуль очень долго, поэтому на помощь пришла программа sqlmap:

image
?
После этих трёх уязвимостей была обнаружена CSRF в изменении личных данных, которая вела к захвату аккаунта путём восстановления по email, Stored XSS, а также мелкий баг, который позволял купить товар за цену в два раза меньше, чем его оглашенная стоимость. Главной опасностью этих всех уязвимостей (не считая sql injection), на мой взгляд, была рассылка по спарсеным email-адресам, ссылки на xss в связке с csrf и вывод реферальных начислений на реквизиты злоумышленника. Затем нашлась та самая уязвимость, которая заставила меня усомниться в безопасности telegram для web.
?
Обычно, в разделе настроек присутствует кнопка для подключения бота, с помощью которого можно получать рекомендации на торги криптовалютой. Кнопка привязана к такой ссылке t.me/Another_bot?start=CODE.

Имея привычку постоянно проверять чувствительные данные в url на размещение в поисковиках (например, я находил дорк twitter или обменников), на этот раз я проверил t.me. Дорк получился такой: site:t.me inurl:Another_bot?start=. Мне выдало один код, и, успешно залогинившись в бота, я начал получать инсайды стоимостью $500, смог увидеть ФИО партнеров и баланс аккаунта.

image

?
Судя по тому, что код к телеграмм-боту появился в поисковике, на t.me присутствуют явные проблемы с запретом индексации конфиденциального контента. Это происходит из-за того, что поисковикам это разрешили. А разрешено им это потому, что нету запретов в файле robots. При попытке его просмотреть t.me/robots.txt происходит редирект на страницу пользователя, то есть, этого файла не существует.

Из-за отсутствия robots файла вырисовывается уязвимость Disclosure Information. Крафтим дорки для того, чтобы показать опасность уязвимости:

1) Некоторые пользователи используют email в качестве имени или username. Вся эта информация попадает в поисковик, хотят пользователи этого или нет https://www.google.ru/search?q=site:t.me+%40gmail.com. Раскрывается 11600 gmail адресов, 1500 yahoo, а также mail.ru, hotmail и qq.com. Но такое раскрытие — спорное доказательство опасности, потому что это публичная информация.

2) Раскрывается 5 000 000 ссылок для доступа в приватные чаты и каналы. Более того, с каждым днём эта цифра растёт, потому что нет robots.txt. https://www.google.ru/search?q=site%3At.me+join.

image
?
Первая проблема, на мой взгляд, в том, что ссылки на приватные чаты/каналы останутся в поисковиках навсегда, их невозможно будет удалить. А ведь многие люди доверяют Telegram, долгое время не меняя ссылки для доступа. А может быть, и никогда не поменяют, думая, что их переписки полностью конфиденциальны. Но это не так: теперь любой человек может прочитать переписку сотрудников, силовик может узнать о заговоре террористов, а твоя девушка о том, что Ленка из соседнего двора не просто «старая знакомая из детства». Сам факт слива такого большого количества ссылок для доступа «сводит концепцию приватных чатов на нет».
?
Вторая, не менее волнительная проблема, заключается в том, что разработчики абсолютно «беззаботно» относятся к данной уязвимости, и с каждым днём количество ссылок увеличивается. Если во время моего репорта (7 января) в Google было 900 000 таких ссылок, то сейчас их 5 000 000! Я согласен с тем, что среди всех этих ссылок есть «кликбейтные» телеграмм-каналы, которые в рекламных постах используют ссылки t.me/joinchat/*************** для того, чтобы «набивать» количество подписчиков, но также там есть очень много приватных чатов и других каналов. До сих пор разработчики не добавили robots.txt на t.me (прошло больше трёх месяцев с момента репорта), и, думается, никогда уже и не добавят. Было бы желание, добавили бы сразу, это ведь совсем не сложно — просто загрузить txt файл в индекс сайта.
?
Просматривая дорки, я обнаружил вот такой интересный url https://www.t.me/iv?url=https://www.yashahid.com/9173/. Интересно здесь то, что это ссылка не на канал/человека, а прямой редирект на сайт ИГИЛ (скорее всего), и только этот сайт использует /iv? с 2015 года по сегодняшний день. В контактах тоже указана ссылка www.t.me/iv?url=https://www.yashahid.com/9173.
?
Подставляем другой сайт в url= для тестирования t.me/iv?url=https://securityz.net, всё сработало — это вторая уязвимость в Telegram — Open Redirect, можно использовать как proof of concept, Open Bug Bounty подтвердил наличие и устранение. Уязвимость позволяет сделать прямой редирект из t.me на любой фишинговый сайт, скачивание трояна, вредоносный js (например, js майнер или использование последнего 0-day в процессорах intel) и др.
?
После этого, я двинулся к сервису создания статей от Telegram — telegra.ph. Редактировать чужие записи нельзя, xss нету(наверное, bo0om всё нашёл), поддоменов всего один, брут директорий так же ничего не дал. Я создал тестовую статью и попытался её отредактировать — в ответ на это действие отправляется вот такой запрос

POST /save HTTP/1.1
Host: edit.telegra.ph
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Referer: http://telegra.ph/img-srcx-onerrorprompt1qw22qw-01-18
Content-Type: multipart/form-data; boundary=---------------------------TelegraPhBoundary21
Content-Length: 1273
Origin: http://telegra.ph
Cookie: tph_uuid=80SI6VtGetOhKd5LaFjBRtK7I6EsdW0lWS21LvFZWt
Connection: close
-----------------------------TelegraPhBoundary21
Content-Disposition: form-data; name="Data";filename="content.html"
Content-type: plain/text
[{"tag":"p","children":[{"tag":"br"}]},{"tag":"figure","children":[{"tag":"div","attrs":{"class":"figure_wrapper"},"children":[{"tag":"img","attrs":{"onerror":"alert(1)"}}]},{"tag":"figcaption","children":[""]}]},{"tag":"p","children":[{"tag":"br"}]},{"tag":"figure","children":[{"tag":"div","attrs":{"class":"figure_wrapper"},"children":[{"tag":"video","attrs":{"src":"<a href="http://telegra.ph/file/a805d892df19325688e25.mp4">http://telegra.ph/file/a805d892df19325688e25.mp4</a>","preload":"auto","autoplay":"autoplay","loop":"loop","muted":"muted"}}]},{"tag":"figcaption","children":[""]}]},{"tag":"p","children":["\"><img s>qw{{2+2}}qw"]}]
-----------------------------TelegraPhBoundary21
Content-Disposition: form-data; name="title"
"><img >
-----------------------------TelegraPhBoundary21
Content-Disposition: form-data; name="author"

-----------------------------TelegraPhBoundary21
Content-Disposition: form-data; name="author_url"

-----------------------------TelegraPhBoundary21
Content-Disposition: form-data; name="page_id"
3b25803ca519a088c0c75
-----------------------------TelegraPhBoundary21--

Судя по этому запросу, для того, чтобы отредактировать статью на telegraph, нужен только номер страницы page_id и чтобы автор статьи перешёл по ссылке нашего эксплойта. То есть никакой защиты, например csrf токенов, здесь попросту нет.
?
Третья уязвимость — это CSRF. Я выяснил, что токен находится в исходнике статьи, например, статье telegra.ph/Durov-01-22 принадлежит id 7f0d501375c9e2acbd1ef:

<script> var T={"apiUrl":"https:\/\/edit.telegra.ph","datetime":1516653676,"pageId":"7f0d501375c9e2acbd1ef"};(function(){var b=document.querySelector('time');if(b&&T.datetime){var a=new Date(1E3*T.datetime),d='January February March April May June July August September October November December'.split(' ')[a.getMonth()],c=a.getDate();b.innerText=d+' '+(10>c?'0':'')+c+', '+a.getFullYear()}})(); </script>

Так как статью можно ещё редактировать очень долгое время, мы просто узнаем page id, делаем автоматический эксплойт и успешно изменяем запись.
?
Видео


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

  • — статью с важной новостью;
  • — статью с обновлением криптовалютного кошелька (и любого другого сайта);
  • — статью, где есть реф. ссылки, заменяя их на свои — на этом, кстати, можно заработать очень много денег — в своей статье habrahabr.ru/post/343152 я рассказывал о том, как некий инвестор заработал на публикации своей реф. ссылки $300 000, и, так как его контакты всем известны, можно было сбросить ему эксплойт, подменить реф ссылку, и это действие было бы незаметным.

Я отправил эти уязвимости на 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).

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

  • Всегда добавляйте robots.txt на сайт с правилами, которые запрещают индексацию чувствительного контента. Это может быть email, логин, телефон, ссылка с квитанцией, ссылка для автологина и др.
  • Если вы создали приватный чат, добавьте туда кого нужно и не передавайте ссылку, ведь ссылка для доступа рано или поздно станет публичной и её можно будет увидеть в поисковике.

UPD: Уязвимость с раскрытием ссылок больше не работает. Open Redirect и CSRF давно исправлены.

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

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


  1. DarkByte
    29.03.2018 19:41

    2) Раскрывается 5 000 000 ссылок для доступа в приватные чаты и каналы. Более того, с каждым днём эта цифра растёт, потому что нет robots.txt. www.google.ru/search?q=site%3At.me+join.

    А вы не проверяли, сколько из этих 5млн реально рабочих ссылок? Просто по этому запросу гугл отдаёт всего 452 результата, и из них большая часть НЕ ссылки на инвайт в группу.


    1. brainunavailable
      29.03.2018 20:25

      About 767,000 results (0.35 seconds)
      и первые 2 страницы рабочие, дальше лень кликать


      1. DarkByte
        29.03.2018 20:47

        Не поленитесь клинуть на третью страницу. Там вместо about 100500 results останется всего 30. Но будет ссылка «показать скрытые результаты», тогда количество результатов получится 452, но среди них будет много ссылок просто на пользователей.


        1. forcam
          29.03.2018 22:25

          image
          Открываются и на 20 стр. правда тут всего 7000 результатов


    1. w9w Автор
      29.03.2018 20:48

      Последний раз, когда я проверял, было 5 миллионов (раньше, когда выбивало 900 000, я заходил на >100 страниц, всё работало). После того, как я нашёл эту багу, иногда заходил в гугл, и часто были разные значения, когда-то вообще показывало выдачу в пару тысяч только (и писало, что пару тысяч). Сравнивал выдачу дорков по яндексу и гуглу, в яндексе всё стабильно — как было 900 ответов, так и осталось https://yandex.ru/search/?text=site%3At.me%20join, а вот с гуглом по другому. Я не знаю, каким образом, но если листать дальше, там сейчас и правда 462 результата, хоть и пишет «Результатов: примерно 769 000».
      Спасибо за сообщение, обновил статью, добавил, что дорк больше не работает.


      1. forcam
        29.03.2018 22:33

        Если google.ru то 3.3млн если google.com то 750тыс

        image

        image

        C 20ой страницы
        image


        1. w9w Автор
          29.03.2018 23:18

          Вот. Я же говорил, что у меня часто были разные выдачи. Как ты смог получить 3,3 миллиона с google.ru?


      1. Forbidden
        30.03.2018 08:33

        Цифра которую показывает Google в About XYZ results совершенно не соответствует действительности, и может спокойно завышаться на 2-3 порядка, поэтому делать на основе нее громкие выводы о числе ссылок в индексе совсем не разумно


  1. qurator
    29.03.2018 20:48

    www.google.ru/search?q=site%3At.me+join
    Запросов только 30 (если листать страницы)


    1. w9w Автор
      29.03.2018 20:50

      Нажмите «Показать скрытые результаты», тогда будет больше.


      1. qurator
        29.03.2018 20:52

        Да, спасибо


  1. arty
    29.03.2018 20:52
    +1

    Для меня «безопасность» телеграма определилась в тот день, когда они гордо опубликовали свой протокол и пообещали награды за найденные ошибки, и в первый же день программист-не-криптограф нашёл в нём банальные ошибки.


    1. w9w Автор
      29.03.2018 20:59

      Помню такое, он вроде бы описал эти банальные ошибки в статье на Хабре. И Дуров тогда сказал, что выплатит $100 000 этому программисту.


      1. arty
        29.03.2018 21:01

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


        1. w9w Автор
          29.03.2018 21:08

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


    1. vsespb
      30.03.2018 02:13

      Что такое «банальные ошибки» и как постфактум определить была ли ошибка банальной? Есть какие-то пословицы про это…


      1. arty
        30.03.2018 12:02

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


        1. vsespb
          30.03.2018 12:45

          Это не так. Бывают ошибки, которые сложно найти. Человеческий фактор. Можно смотреть на них в упор и не видеть. Можно смотреть в упор,
          найти ошибку, а через год ещё раз посмотреть и найти ещё 10. Ошибки не обязательно в этом случае какие-то сложные, так что криптограф ли найдёт
          ошибку в криптопротоколе — не важно.
          То же истино для любых багов, не связанных с security (пожалуй, не security можно выявить различными типами тестирования).

          Если исходить из того, что команда телеграма компетентна, то вот она допустила такую ошибку, объявила багбаунти на весь мир и кто-то её нашёл.
          То здесь нет никакого противоречия и фактов, указывающих что она некомпетентна.
          з.ы. сам успешно занимаюсь участием в bugbounty.


          1. arty
            30.03.2018 12:47

            Пост, в котором мы сейчас ведём обсуждение, показывает, что команда некомпетентна, и что тот первый инцидент был неслучаен.


  1. decomeron
    30.03.2018 00:27
    +1

    Сейчас по ссылке из гугла попала в закрытую группу, где только по приглашениям. Очень интересно


  1. decomeron
    30.03.2018 00:46

    А в яндексе еще интереснее: входишь прямо по приглашеннию в закрытый сат.


    1. aftemaht
      30.03.2018 10:54

      Подтверждаю все ваши слова. Нашёл для себя пару интересных закрытых групп


  1. limassolsk
    30.03.2018 02:03


  1. orcy
    30.03.2018 05:58
    +3

    Насколько я это себе представляю robots.txt — это не защита, это наоборот приглашение хакерам поискать ресурсы в разделах Disallow. Если я правильно понимаю проблему, то она в том что кто-то публикует ссылки на приватные каналы или приватную информацию на страницах которые попали в поле зрение индексатора гугл, например где-нибудь у себя на форуме. Исправлять robots.txt чтобы починить это — означает надеяться на добросовестность гугла и других поисковиков, это не похоже на исправление.


    1. mayorovp
      30.03.2018 08:53
      +1

      Проблема не в тех ссылках которые публикуются на форумах. Проблема в браузере Google Chrome, который «помогает» гуглу индексировать интернет. Таким образом гугл узнает даже про те ссылки, которые никогда нигде не публиковались.

      Именно от этого и защищает robots.txt.


      1. w9w Автор
        30.03.2018 10:59
        +1

        Согласен с Вами, когда я только обнаружил баг, взял несколько ссылок из >100 страниц, пытался обнаружить, публиковали ли их в яндекс/гугл, но оказалось, что их не публиковали. Похоже, это хром.


        1. skazo4nik
          30.03.2018 11:31

          Это не хром, а Google Analytics. По дефолту он сабмитит посещенные страницы.


      1. orcy
        30.03.2018 11:43

        Есть ли пруфы про хром?

        robots.txt опять же нельзя считать защитой, это какое-то благоразумная надежда на гугл. Есть ли хром отправляет секретные ссылки гуглу, а яндекс браузер — яндексу, edge — в bing, то можно считать что секретных ссылок в этих браузерах не бывает.


        1. DarkByte
          30.03.2018 13:58

          Как то пару лет назад решил провести эксперимент. Создал несколько поддоменов и каждый из них отправлял в различные места. Поиск яндекса, bind, гугл, открыл в хроме, в инкогнито режиме, резолвил через некоторые паблик днс сервера включая гугл, отправлял на различные популярные сервисы, где можно указать адрес сайта для проверки на что либо. В итоге за всё это время только один из доменов, отправленный на один сервис SEO-аналитики попал в индекс яндекса. На остальные так никто и не зашёл.


          1. Ivan22
            30.03.2018 17:03
            +1

            Неуловимый Джо?


            1. DarkByte
              30.03.2018 17:31

              В общем то нет. Как ссылки на приглашения попадают в индекс поисковиков — написано ниже. Я просто на личном опыте убедился в том, что как минимум хром посещаемые сайты своему пауку не скармливает, хотя выше было заявлено об обратном.


              1. VolCh
                31.03.2018 13:28

                А вы соглашались отправлять в Гугл анонимную статистику или как там её, при первом запуске Хрома?


  1. tavel
    30.03.2018 10:01

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

    Group Info->Manage Group->Group Info->Invite link->Revoke invite link


    1. nihi_l_ist
      30.03.2018 10:56

      Но это тогда надо делать после каждого инвайта, помнить, что надо регенерить ссылку. А вообще почему нет возможности ее совсем отключить, чтоб ввод в супергруппу был только добавлением через телеграм…


  1. nehrung
    30.03.2018 11:11

    это удобно и, насколько мне казалось, полностью конфиденциально
    Ну да, конечно. А то, что вы деанонимизировались на самом первом шаге — прямо при регистрации, вводя номер своей мобилы — это прошло вами незамеченным.


    1. esemi
      30.03.2018 12:22

      Не понимаю за что минус влепили — я тоже был поражён когда решил воспользоваться «анонимус месенжером телеграм» =)


      1. dartraiden
        30.03.2018 12:35

        А где на этой странице заявлена анонимность?

        Анонимность — это когда никто не знает, кто вы, но потенциально видит, что вы делаете. Анонимность отделяет ваши действия и деятельность от вашей настоящей личности.

        Приватность — это когда никто не видит, что вы делаете, но потенциально знает, кто вы такой.


        1. nehrung
          30.03.2018 13:25
          -1

          Да, играя тонкостями в трактовке терминов, можно оправдать много чего. Я же направляю ваше внимание на суть дела — увидев при регистрации строку для ввода номера мобилы, истинный параноик вынужден от Telegram отказаться. И это при том, что судя по вашей "этой странице", он создавался в том числе и для них (и особенно для них).


          1. dartraiden
            30.03.2018 13:27
            +2

            Истинный параноик вообще не будет пользоваться чем-то, что завязано на центральный сервер, хоть с регистрацией по телефону, хоть без.

            Telegram обещает, что переписку в рамках приватного чата не сможет расшифровать никто, кроме собеседников. Если нужна анонимность, то она достигается другими способами (допустим, через активацию аккаунта в другом городе с помощью подпольно приобретённого одноразового телефона и одноразовой симки).


          1. nidalee
            30.03.2018 16:18
            +1

            У истинных параноиков симка на бомжа (а может и не одна), а так же китайский card phone за 700 рублей (мы ведь помним про IMEI?), чтобы принимать эти бесполезные СМСки.


            1. nehrung
              30.03.2018 18:12
              +1

              Вот только не надо рассказывать мне про симку от бомжа. Те, кто придумали Токс, смогли обойтись без такой экзотики — значит, мог додуматься и Дуров. Если бы с самого начала ставил бы себе такую задачу.
              Но он предпочёл либо её упростить, либо… оставить дырку.


              1. Pongo
                30.03.2018 20:24

                Либо он с самого начала не собирался делать анонимный мессенджер. Защищенный — возможно, но не анонимный.


              1. Barafu
                30.03.2018 20:44

                Или ему нахрен не сдались те три параноика, которым это надо. Шифрованные чаты взломали? Нет. А всё остальное проще считать публичным.


  1. Alter2
    30.03.2018 13:03
    +1

    Телеграм — платим 1 евро за каждые 4 миллиона наших пользователей которым вы решите критическую проблему с безопасностью.


    1. nihi_l_ist
      30.03.2018 13:50
      +1

      Ну учитывая, что компания пока не монетизируется — наверно норм, что вообще платят. У разных компаний вообще разная багбаунти политика. А звучит да, забавно.


  1. zikkuratvk
    30.03.2018 13:46
    +1

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


    1. devalone
      30.03.2018 14:09

      А Google тут при чём? Кто-то выложил ссылку на чат — он стал публичным, это проблема того, кто выложил, а ссылку можно изменить. Вот если бы телеграм выдавал список всех групп, тогда была бы проблема.


      1. VolCh
        31.03.2018 13:32

        Есть мнение, что достаточно открыть ссылку в Хроме и Гугл (в частности поисковая система) узнает о её появлении.


        1. devalone
          31.03.2018 21:11

          Тогда это уже проблема на стороне браузера, точно так же любой другой шпионский софт может украсть инвайт из приложения телеграма, не нужно даже ничего никуда отправлять


  1. devalone
    30.03.2018 14:01

    И всё-таки не стоит полагаться на robots.txt, это дополнительная, но не основная мера, нет гарантий, что не будет поисковика, который не следует robots.txt, скорее всего такие даже есть, просто с закрытым доступом.


  1. Lobushkin
    30.03.2018 14:05

    Ребята из Телеграма передают уважаемому автору:

    Ссылка joinchat может быть проиндексирована поисковиком ТОЛЬКО если она была где-то опубликована. В месте, где её может подобрать поисковый робот. Например, в твиттере, на форумах. Публикация таких ссылок — стандартная практика для, например, групп ICO и других «сообществ по интересам».

    Драматичные примеры про «группу террористов» и «Ленку из соседнего двора» — вздор. Если конечно «террористы» не пишут в социальных сетях «Все заходите в нашу группу, вот ссылка!!!» А если ссылку никто нигде не публиковал, то и найти её в поиске нельзя.

    Мы сообщили автору, что публичные группы — легитимный юзкейс, однако он счел нужным об этом умолчать в статье.

    По поводу индексации:

    Безусловно, мы не даём индексировать всё. Например, ссылки с параметрами start/startgroup для ботов не индексируются даже если где-то выложены. (Как раз за эту небольшую поправку автор и получил 50 евро в дополнение к другим наградам.)

    А для запрета индексации используются более гибкий способ – мета-теги, а не robots.txt.


    1. devalone
      30.03.2018 14:14

      А ещё нужно не забывать, что ссылку у телеграма можно поменять и доверять поисковикам не стоит в принципе, если ссылка выложена на общедоступном ресурсе, считай она уже слита вне зависимости от правил robots.txt


    1. Lobushkin
      30.03.2018 14:25
      +2

      И ещё. Автор пишет так, будто кто угодно мог отредактировать любую статью в телеграфе.


      А между тем, для CSRF требвалось:


      1. Чтобы именно автор страницы открыл присланную ему ссылку;
      2. Именно в браузере, авторизованном в телеграфе (то есть, должны быть ещё куки автора).

      Так что для «боевой» реализации потребовалось бы социальная инженерия на конкретного пользователя, которого нужно ещё каким-то образом определить – и даже при успехе, сработала бы не 100% (в зависимости от того, в каком браузере была бы открыта ссылка соц.инженера).


      1. w9w Автор
        30.03.2018 15:24

        Я написал, что мог отредактировать любую статью в telegraph только в названии статьи, не смог написать «возможность редактирования любой статьи telegra.ph, если жертва перейдет по ссылке», потому что есть лимит в заголовке.
        В самой статье я упомянул, что нужно, чтобы пользователь перешёл по ссылке и статья изменится.



        Спасибо за сообщение, дополню статью.


    1. w9w Автор
      30.03.2018 15:20

      Здравствуйте, Георгий.
      «Например, ссылки с параметрами start/startgroup для ботов не индексируются даже если где-то выложены» — кажется, индексируются www.google.nl/search?q=site%3At.me+start%3D и то, как я получил код для доступа к боту с инсайдами на $500 — тому пример.
      «Для запрета индексации используется более гибкий способ – мета-теги» — я что-то не вижу таких мета-тегов. Например, на t.me/joinchat/AAAAAEI3MkvLqlXEPSUahg нету тегов запрета индексации (вроде бы ), так что любой поисковый бот может свободно «складировать» ссылки.



      У меня ещё есть вопрос к Вам: А разработчики не могли раньше со мной это обсудить, чтобы я не выпускал статью с такими заголовком и текстом? С самого первого репорта я присылал сообщение, в котором я говорил о том, что собираюсь написать статью на хабре.
      image

      И 5 дней назад прислал разработчикам письмо с частью текста из статьи.



      Кстати, очень интересно, если мне сейчас отвечает по поводу этой статьи глава пресс-службы Вконтакте, — сайта, который предоставляет всю необходимую информацию для правоохранительных органов, то о какой о безопасности данных в телеграмме мы сейчас вообще можем говорить?


      1. Lobushkin
        30.03.2018 16:02

        В ВКонтакте я не работаю уже больше двух лет, а пишу здесь, потому что ребят из Телегама нет на Хабре, и они попросили помочь.

        Ссылки start/startgroup перестали индексироваться в январе после репорта. Видимо, какие-то остались в кеше.

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


        1. cruzo
          30.03.2018 16:38
          +5

          Друзья, давайте все дружно поможем ребятам из Телеграма зарегистрироваться на Хабре. Сарказм.
          Все Read Only пользователи могут оставлять комментарии к постам, ой и даже лично написать w9w.


        1. virl
          31.03.2018 09:48

          Ну так пусть зарегистрируются на хабре, а не смещают ответственность за публичное общение об уязвимости на непричастную говорящую голову.


  1. privateleaks
    30.03.2018 19:55
    -1

    Если заинтересовали ссылки в приватные чаты, то тогда для вас в Telegram есть канал @joinprivatechat в котором уже почти 3K ссылок взятых с помощью дорков с google, yandex, duckduckgo, torch и др ресурсов.

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