15 апреля госкомпания «Крымтехнологии» начала открыто тестировать собственный мессенджер «Диалог М». Разработчики напрямую связали ранний запуск своего «быстрого и безопасного» сервиса с решением о блокировке Telegram. В Крыму назвали «Диалог М» возможной альтернативой «подобным приложениям иностранных компаний» и отметили: «В плане конференции он будет даже получше, чем Telegram».
Я протестировал браузерную версию «Диалог М» и убедился, что он не так безопасен, как заявляли авторы. Любой аккаунт можно украсть за 3-4 минуты.
Заходим в форму авторизации и вбиваем произвольный номер.
После этого форма предлагает ввести код, пришедший на указанный номер. Если попытаться отправить код, то видно, что он проверяется по адресу https://im.krtech.ru/auth/3556666666666/xxxx.
Оказывается, что этот URL можно «дёргать» как угодно часто, поэтому пишем простенькую функцию, которая подбирает четырёхзначный код.
Через короткое время код находится.
В моём случае код оказался 5817. Но, судя по всему, сам код одноразовый, так как повторный вызовhttps://im.krtech.ru/auth/3556666666666/5817 выдаёт ошибку, а, значит, залогиниться по нему уже не получится.
Однако в ответ на запрос вернулся токен, который, может быть, остался годен. Чтобы проверить его, идём в JS-код, и ищем, откуда происходит запрос на адрес https://im.krtech.ru/auth/...
Строка быстро отыскивается.
Ставим брейкпоинт и снова нажимаем на кнопку авторизации. Прослеживаем, как код исполняется дальше и попадаем в место, в котором обрабатывается ответ от сервера. Здесь подменяем ответ с ошибкой на токен, который до этого получили перебором.
Запускаем код дальше и оказываемся авторизованными. Можно даже написать кому-нибудь.
Всё то же самое можно сделать с номером уже зарегистрированного пользователя и, таким образом, «угнать» аккаунт.
Автор угнал аккаунт редактора TJ в «Диалог М» в качестве эксперимента и с его согласия, а также с надеждой на то, что разработчики исправятся. Лучше так не делать. Неправомерный доступ к компьютерной информациипреследуется по закону.