DO - Functions
Reading time: 5 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
DigitalOcean Functions、または「DO Functions」としても知られるこのサービスは、基盤となるインフラストラクチャを気にせずにコードを実行できるサーバーレスコンピューティングプラットフォームです。DO Functionsを使用すると、API、HTTPリクエスト(有効な場合)または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トリガーが有効な場合、ウェブ関数はこれらのHTTPメソッド GET, POST, PUT, PATCH, DELETE, HEAD および OPTIONSを通じて呼び出すことができます。
caution
DO関数では、環境変数は暗号化できません(この執筆時点で)。
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
caution
Functionsサンドボックスにはメタデータエンドポイントがありません。
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。