未經許可,不得轉載。
文章目錄
- 正文
正文
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/