我如何打破电报

有一次,我入侵了其中一台电报服务器。 并不是说这很有趣,而且漏洞本身是标准的。 电报与安全有关以及为什么多年来没有人利用漏洞这一事实令人惊讶。 但是,什么都不做的人没有错!



早在2017年5月, kyprizel就提请注意电报桌面可以将ZIP存档上传到其服务器tdesktop.com的事实 。 后来发现,不仅ZIP,而且内部还包含有关应用程序崩溃的信息,以便开发人员可以研究崩溃在什么情况下发生。 此外,根据身份验证表单,开发人员可以通过Web界面访问它们。 我将主机添加到笔记中并安全地忘记了。



大约一年后,我在聊天中讨论了即将进行的研究后,使我想起了他。 那时,根文件是error_log,您可能已经猜到其中写入了错误。 至少有完整的文件路径,但除此之外,最喜欢的错误是“ SQL语法有错误”。 但是我们都很懒惰,在漏洞悬赏中,我通常尝试不参加,因此一切都保持不变。



一年过去了,我受邀在喀山的#PartyHack会议上发表演讲。 当您没有说话的内容时,您可以查看笔记。 我们在那里有什么? Telegram上的可疑主机。
由于服务器使用的是PHP,正如crash.php所证明的那样,我决定略过具有此扩展名的文件,然后遇到了info.php,即phpinfo()函数的内容。 我注意到的第一件事是使用Apache Web服务器。 怎么会这样 整个电报是nginx,这里是Apache! 谁在2019年使用apache?



听到Apache时首先想到的是什么? 我立即记得有关mod_status的信息,它是默认情况下使用它构建的。 此模块会生成一个页面,其中包含服务器的当前状态,有关系统资源,服务器请求及其处理速度的信息。 通常,它的路径是/ server-status,很少是/ status。 要了解此管理错误的流行程度,请记住它已经在apache.org网站上挂了很多年了



多年以来,我一直在fuzz.txt项目中收集潜在危险文件和目录的路径 ,因此服务器状态自然而然地存在。

通常,在服务器状态中值得注意的是,它还显示了向服务器发送请求的客户端的IP地址。 但是在这种情况下,所有请求都是从127.0.0.1到虚拟域preston-desktop.com。 前端的Nginx只是将所有请求代理到本地apache,因此没有泄露用户信息。 但是,值得监视服务器状态,这是在膝盖上制作的一个小脚本 ,用于将唯一行放入sqlite数据库中。 在很短的时间内,收集了很多唯一的链接,但是基本上,这些都是对更新的请求(指示版本),并且几乎没有下载。 一段时间后,我看到了管理员。



尽管事实上行长有限,但是从日志中可以看出,管理员偶尔会下载秋天日志以进行进一步分析,并且有趣的参数__login和__token传递到了那里。 屏幕截图中的POST请求是我的。
查看源代码,您会注意到两种有趣的方法。

第一个是query_report ,它具有其他apiid,版本,dmp和平台选项。 它返回是否需要更多有关应用程序崩溃的日志,或者版本是否已经更新并且已知错误。 创建该机制的目的是不要过多,而只能纠正实际情况。



第二个是报告本身。 已经没有附加参数。 如果上一个请求返回一个单词,表明需要发送转储,则发送文件。



在那里,您可以看到数据是使用多部分发送的,文件名为report.telegramcrash,其内容类型为application / octet-stream。



因此,您可以尝试上传自己的文件,并测试与解压缩ZIP和其他上传文件相关的漏洞。



我将进一步尝试发送不同的负载,以找到至少某种类型的漏洞,如果不是出于一种trick俩。 如果我们将另一个请求中的知名参数名(从服务器状态中获取的有效值)替换为报告方法,则可以尝试使用所有Web黑客的秘密攻击。

通过使用platform参数中的megazord(单引号)的功能,可以观察到资源的异常行为。



有一个引号-一个错误,没有引号-一切都很好。 为了验证有效性,您可以编写一些逻辑表达式,例如platform = mac'AND'a'='a。 答案是完成,文件上传成功。

好吧,难怪他们想出了自动化的方法,所以我将sqlmap脱钩了,因为无所作为已经使它变得尘土飞扬。 预期的问题-其他所有配置都正确,DBMS中的用户没有特权。



发送至security@telegram.org,不久后,我收到了一封令人垂涎的信,内容涉及30,000美元的奖励。
只是开个玩笑,sqli $ 2000,phpinfo和server-status $ 500,这也很好。 狼是安全的,羊是饱的,反之亦然。



我没有黑客用户(您的信件很安全),我无法进一步发展攻击,一台具有随机用户转储的服务器(即没有电报,电话,消息和聊天中的标识符信息的崩溃转储)是一个可疑的价值。 从理论上讲,有可能引发崩溃并自己研究和利用它们。 了解了如何丢弃电报后,您可以将其从受害者手中删除,然后研究可以从秋季记录中挤出的所有内容(如果可以通过此注入进行下载)。

独特的原创

Source: https://habr.com/ru/post/zh-CN460655/


All Articles