我们如何发现 SSRF 漏洞
首先,我们通过https://ml.azure.com端点在 Azure 机器学习服务中创建了一个新工作区–
创建后,我们导航到“数据”仪表板,将各种资产上传到我的工作区。我们单击左侧窗格菜单中的数据仪表板,然后选择“创建” -
在 Create Data asset Wizard 中,我们为新资产命名并选择 File(uri_file) 并点击 Next。
我们继续选择“来自 URI”以上传我新指定的文件 –
然后,我们指定了一个示例 HTTPS 端点(也可以是 HTTP)并点击下一步(在此之前我们切换了“跳过数据验证”——
最后我们点击“创建”——
在点击 Create 之前,我们确保我的 Intercept 设置为 ON –
我们看到第一个请求是/saveddatasets/tieredpreview。 我们寻找进一步的请求。
第二个请求是 – https://ml.azure.com/api/eastus2/data/v2.0/subscriptions/5cd1****-****-****-****-** ******c611/resourceGroups/lidor-rg/providers/Microsoft.MachineLearningServices/workspaces/ssrf/datacall/preview
此请求正在通过/datacall/preview 传递。与我接下来将重点关注的流内容端点类似,预览端点在其响应中使用“路径”+“文件名”方案 -
虽然流内容使用了“路径+内容”模式——
通过的最终端点是/datacall/streamcontent?streamInfoColumnName=Path&maxBytes=5000000
我们可以看到发送的 POST 请求包含以下正文 -
然后我们可以删除所有不相关的参数,除了“ dataUri ”——
我向服务器发送了上面的请求,并收到了下面的响应——
响应内容是 Base64 格式,所以我们对其进行了解码——
我们向https://orca.security端点发送了一个新请求——
再一次,解码响应为我们提供了网站的内容——
从上面的 base64 解码可以看出,我们能够通过 SSRF 漏洞检索任何端点。
原文始发于微信公众号(黑伞安全):Azure 机器学习服务上已验证的 SSRF 漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论