【网络安全】SSRF 之 Azure Digital Twins Explorer

未经许可,不得转载。

文章目录

    • 正文

正文

Azure Digital Twins 是一个微软下的平台服务,允许开发者创建和运行数字孪生模型,这些模型能够反映物理世界中的实体及其关系,通过这些模型可以进行监控、分析和预测等操作。

1、进入主页面,创建一项新的数字孪生服务:

在这里插入图片描述

2、打开 Azure 数字孪生资源管理器:

在这里插入图片描述

3、点击3D场景按钮:

在这里插入图片描述

4、此时,存在一请求包如下图:

在这里插入图片描述

可以看到名为X-Blob-Host 的自定义标头被设置为未定义。

5、对应的返回包如下图:

在这里插入图片描述

由于内部服务器错误 500 ,暴露了应用程序的各种依赖项和文件。

6、出于特殊性,修改X-Blob-Host

在这里插入图片描述

返回包如下:

在这里插入图片描述

可以看到,我们提供了一个 blob,由于后端代码检测,导致服务器的请求(getaddrinfo) 错误。

7、在 Github 中检索与数字孪生服务相关的各种文件后,发现一个BlobAdapter.ts文件中似乎存在类似功能,关键代码如下:

在这里插入图片描述

在这里插入图片描述

解读:blobHostUrl设置为请求标头中设置的内容(即req.headers[‘x-blob-host’]);后端验证BlobHostUrlObject标头是否以blob.core.windows.net后缀结尾

由于blobHostUrl可控,因此可构造参数内容如下:

在这里插入图片描述

其中, | 用于绕过。

响应包及Collaborator如下图:

在这里插入图片描述
在这里插入图片描述
原文出处:
https://orca.security/resources/blog/ssrf-vulnerabilities-azure-digital-twins/

上一篇:【MySQL】逻辑架构与存储引擎


下一篇:模版初阶(更新)-函数模版