GCP - Cloud Functions Enum
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
Google Cloud Functions 旨在托管您的代码,该代码 响应事件执行,无需管理主机操作系统。此外,这些函数支持存储环境变量,代码可以利用这些变量。
Cloud Functions 代码存储在 GCP 存储中。因此,任何对 GCP 中的 存储桶具有读取权限 的人都能够 读取 Cloud Functions 代码。 代码存储在一个存储桶中,格式如下:
gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip
gcf-v2-sources-<number>-<region>/<function-name>function-source.zip
例如:
gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip
任何对存储 Cloud Function 的 存储桶具有读取权限 的用户都可以 读取执行的代码。
如果云函数配置为将执行的 Docker 容器存储在项目内的 Artifact Registry 仓库中,任何对该仓库具有读取权限的人都能够下载该镜像并检查源代码。有关更多信息,请查看:
如果未指定,默认情况下将附加具有 编辑权限 的 App Engine 默认服务帐户 到 Cloud Function。
创建 Cloud Function 时,需要指定 触发器。一个常见的触发器是 HTTPS,这将 创建一个 URL,您可以通过网页浏览触发该函数。 其他触发器包括 pub/sub、存储、Filestore...
URL 格式为 https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>
当使用 HTTPS 触发器时,还会指明 调用者是否需要 IAM 授权 来调用该函数,或者 每个人 是否都可以调用它:
代码被 下载到 文件夹 /workspace
中,文件名与 Cloud Function 中的文件名相同,并以用户 www-data
执行。
磁盘 未以只读方式挂载。
在以下页面中,您可以查看如何滥用云函数权限以提升权限:
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)