原文:
http://www.kamilonurozkaleli.com/posts/rce-on-starbucks-singapore-and-more/
背景
之前我发现了一个关键的弱点在星巴克新加坡web应用程序,我想再深入一点了解情况的,开始检查com.starbucks.singapore Android应用程序。不幸的是,我没有发现任何的弱点,我决定集中在应用程序服务器上的应用程序进行交互。移动应用主要是与服务器上的REST API交互,但我注意到在一些操作中,它是与一个扩展名为“.aspx”的端点通信。我没有发现任何弱点在这里的端点,并试图找到更多的端点通过目录扫描。我在发现的端点中没有发现任何弱点,并休息了几个星期。
新的进展
休息几周后,我决定研究IIS漏洞,因为我知道应用服务器运行在IIS上。在研究的时候,我看到了黑客IIS的视频。我感谢他在这个视频中提醒我Soroush Dalili的IIS枚举扫描器,这是我以前知道的,但在我的探索中没有想到。我开始探索更多的端点使用这个工具,自动化的漏洞和引起我的注意一些”。Ashx "端点在" /api "目录。
DOWNLO1.ASH
EMAIL-1.ASH
IMAGEU1.ASH
MAILIN1.ASH
IIS Tilde Enumeration Scanner工具利用了一个漏洞,微软将其描述为一个特性,它可以发现文件名称的前6个字符及其扩展名的前3个字符。基于这些信息,我试图找到所有的文件名,并很快找到了其中的一些。
download.ashx
email-bounce.ashx
不幸的是,我不能将这些端点用于任何目的,而是将重点放在IMAGEU ~ 1.ASH。字母U是什么意思,我想知道是否可以上传?我开始用ffuf工具以imageuploadFUZZ的形式扫描。然后发现这个端点是imageuploadhandler.ashx。通过查看端点的名称,可以知道它是用于上传图像文件的。但这里有几个问题。未经授权的用户是否可以访问此端点?发送请求时,该端点的可接受格式是什么?我可以上传除了图像文件以外的任何文件吗?如果我可以上传一个文件,访问它的完整路径是什么?我能运行这个文件吗?
攻击
为了找到这些问题的答案,我向这个端点发送了随机的GET/POST请求,但我得到的唯一响应是200 OK,仅此而已。我没有得到任何错误代码或错误/成功消息。我不确定这个终点是否起作用。现在,让我们从开发人员的角度来考虑,你有一个用于上传文件的端点,你如何从前端向这个端点发送请求?无论是在HTML表单中,还是通过javascript和XMLHttpRequest。我开始研究javascript文件,发现一个名为ajaxfileupload.js的文件。

正如你在这里看到的,要上传的文件以“multipart/form-data”的形式发送。通过一些额外的研究,我找到了适当的上传请求格式。

此时,我试图上传一个文件与“。Aspx "扩展只包含文本,它已成功上传。端点正在将文件名转换为UUID格式,这也将返回UUID +扩展名作为响应。上传的文件可以在“/api”目录中找到。


我立即通过Hackerone向星巴克报告了这个漏洞,并请求允许我尝试远程执行代码。在获得triager的许可后,我上传了一个简单的脚本,运行“whoami”命令并将输出添加到报告中。

影响
你注意到有趣的事情了吗?whoami命令返回iis apppool\cards.starbucks.com.hk, HK为香港,但我们是在新加坡域。所以这是一个指标,我也应该检查香港区域是否使用相同的应用程序。
我的担心是真的,星巴克香港应用服务器有相同的端点和相同的漏洞。然后我试图找到使用相同应用程序的其他区域,我发现该漏洞影响以下区域的服务:
新加坡
香港
越南
泰国
马来西亚
柬埔寨
总计有相同的漏洞,我将它们添加到报告中,但属于其他区域的漏洞没有得到奖励,因为只有新加坡的应用程序在范围内。:(
本文迁移自知识星球“火线Zone”