未经许可,不得转载。
文章目录
正文
Azure Functions是一种无服务器计算服务,它按需提供所有必要的基础设施和资源,用于运行应用程序。它可以用于构建Web API、响应数据库更改、处理IoT数据流、管理消息队列等多种用途。
首先创建一个函数应用程序:
创建功能代码:
点击Functions后,进入以下页面进行配置:
输入示例名称、选择模板:
函数应用程序创建完成后,选择Code + Test。客户端发送的多种请求,其中有两个特殊的请求:
1、https://functions.azure.com/api/passthrough
2、https://functions.azure.com/api/debug
通过搜索GitHub库,得到关键代码如下:
从这段代码对应的请求包中可以看到,浏览器向我们自定义的函数(BlobTrigger1.dat)发送了一个 GET 请求:
通过阅读文档,以下两个参数用于向functions.azure.com验证身份,是执行请求的必要条件:
这意味着,删除这两个标头后,我们就可以发送任何请求。
接着我们修改url,获取了该Azure Functions服务器的地址:
通过向https://www.nba.com发送请求,回显如下:
证明了该函数应用程序用于执行我们的请求。
同时,通过向https://www.infobyip.com/发送请求来获取有关 IP 地址的信息,回显User-Agent 为 axios/0.21.4,因此该函数是一个 Node JS 模块:
理清该函数程序的功能及特性后,即可进行进一步利用。
漏洞利用
尝试访问 IMDS 服务,但无法访问。但可枚举出一个潜在的开放内部端口41692:
通过进一步枚举,证实了内部端点可达,如下所示:
]
通过进一步枚举,证实了内部端点可达,如下所示:
原文出处:https://orca.security/resources/blog/ssrf-vulnerabilities-azure-functions-app/