DO - Functions

htARTE(HackTricks AWS Red Team Expert) を通じてゼロからヒーローまでAWSハッキングを学ぶ

HackTricks をサポートする他の方法:

基本情報

DigitalOcean Functions、または "DO Functions" は、基盤となるインフラストラクチャを気にすることなくコードを実行できるサーバーレスコンピューティングプラットフォームです。DO Functions を使用すると、APIHTTPリクエスト(有効になっている場合)、または cron を介して トリガー されることができる "関数" としてコードを記述および展開できます。これらの関数は、完全に管理された環境で実行されるため、スケーリング、セキュリティ、メンテナンスについて心配する必要はありません。

DO では、関数を作成するにはまず 名前空間を作成 する必要があります。 名前空間内で関数を作成できます。

トリガー

REST API 経由で関数をトリガーする方法(常に有効で、cli が使用する方法)は、認証トークンを含むリクエストをトリガーすることです。

curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="

doctl CLI ツールがこのトークンを取得している方法を確認するために(それを複製できるように)、次のコマンドは完全なネットワークトレースを表示します:

doctl serverless connect --trace

HTTP トリガーが有効になっている場合、Web 関数はこれらの HTTP メソッド GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS を介して呼び出すことができます。

DO functions では、環境変数を暗号化することはできません(この時点での情報)。 CLI からそれらを読み取る方法は見つけられませんでしたが、コンソールからは簡単です。

関数の URL は次のようになります:https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>

列挙

# Namespace
doctl serverless namespaces list

# Functions (need to connect to a namespace)
doctl serverless connect
doctl serverless functions list
doctl serverless functions invoke <func-name>
doctl serverless functions get <func-name>

# Logs of executions
doctl serverless activations list
doctl serverless activations get <activation-id> # Get all the info about execution
doctl serverless activations logs <activation-id> # get only the logs of execution
doctl serverless activations result <activation-id> # get only the response result of execution

# I couldn't find any way to get the env variables form the CLI

Functionsのサンドボックスからはメタデータエンドポイントがありません。

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricksをサポートする他の方法:

最終更新