通过电报中的漏洞披露电话号码和地理位置

图片

最近,Telegram越来越多地讨论突破人员和泄漏个人数据的主题。我想知道电报生态系统本身对这种泄漏的抵抗能力。

削减的是我如何在Telegram中发现错误的故事。该错误使您能够误导用户,并迫使他在不知不觉中共享他的数据-地理位置和电话号码。

运作方式如下:


系统复杂性一直是安全性的敌人。

Telegram已经发展,已经不再只是一个使者,而已发展成为具有丰富功能的大型媒体平台。 Telegram Bot API表现得很出色,使您可以在Messenger(即所谓的bot)内部构建整个应用程序。

最有可能的是,每个尝试创建自己的漫游器的人都已经知道,可以使用特殊按钮向用户发送其电话号码请求。

此按钮上的文本可以设置为任何。此外,该机器人可以将相同的按钮用于其他交互:

图片

单击该按钮后,用户将收到警告,警告他的联系人现在将被发送到该机器人:

图片

该消息非常清楚地说明了匿名处理的风险,并警告有思想的用户不要采取对自己有害的操作。

经历了API更新之后,我记得Telegram在某个时候为用户提供了自己对Messenger进行本地化的机会。在将本地化用于界面的漫画更改时,有一些示例。那一刻,我想到的可能是现在您想到的同样的想法:

但是,如果您尝试“漫画翻译”对话框,警告用户将电话号码转移到机器人,替换其文本,该怎么办?

图片 图片

最初,我认为让用户将多余的xml文件本地化安装到应用程序中要比说服单击“共享联系人”困难得多。确实,就像那样,使用xml文件,Telegram提供了在对话者之间分配其本地化的功能。

所以我想,直到遇到android应用程序源代码中setlanguage链接处理程序

图片

确实需要什么!

事实证明,Telegram早已建立了一个翻译平台translations.telegram.org,可供所有Telegram用户访问,而现在无需传输任何xml文件。

图片

只需点击链接t.me/setlanguage/%lang%,之后用户将看到一个对话框,要求您安装新语言。而且,此窗口比有关电话号码请求的消息要少得多:

图片

怎么运行的?


translations.telegram.org上注册

添加您的语言,翻译必要的界面元素以及更多其他元素

在本地化中,您可以编写任何内容。我们将撰写无害的文字,而不是关于共享地理位置和电话号码的可怕警告。我们在其他平台上也是如此。

我们的有毒语言已经准备就绪。仍然可以将其滑给用户。

图片

我仍然找不到一种方法来确定用户是否安装了提供给他的本地化版本。没有关于translations.telegram.org的语言统计信息,也没有用户个人资料的更改。 Bot api允许您通过language_code参数找出用户的语言,但其值取自系统设置。在应用程序中更改语言不会影响该参数。

好了,然后在消息后添加一点延迟,并带有指向该语言的链接。选择语言后,建议用户熟悉机器人菜单。当您在此对话框中单击“确定”时,该数字会泄漏给机器人并显示一条消息,并且该机器人会立即删除此消息。如果该漫游器使用webhook接收更新,则该消息将被更快地删除,并且用户可能不理解他刚刚发送了他的联系人。

顺便说一句,类似于联系请求,机器人可以要求用户共享其地理位置。是的,此对话框也可以“翻译”。

怎么修


显然,您不应该允许用户在不进行审核的情况下绝对转换整个界面。顺便说一下,例如,此对话框的translations.telegram.org/rutech/ios/unsorted/AuthCode.Alert启用了翻译审核。关键标签向我们报告了节制的需要。

图片

事实证明,缺少关于共享数字和地理位置的对话的关键标签之类的小遗漏会导致泄漏。泄露非常敏感的数据,例如围绕隐私/安全性进行营销的Messenger。

根据定义,与您的个人电话号码绑定的Messenger不能为私人。这只会增加显示您的身份的成本。

该漏洞属于漏洞赏金电报程序,价值100欧元。

PS

到我们这里来吧,在电报聊天@secinfosec在这里,我们分享我们的经验,并讨论与信息安全有关的一切:赏金漏洞,渗透测试,纸张和实际安全性,新的威胁以及应对方法。

All Articles