DO - Functions

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı) öğrenin!

HackTricks'i desteklemenin diğer yolları:

Temel Bilgiler

DigitalOcean Functions, "DO Functions" olarak da bilinen, altta yatan altyapıyla ilgilenmeden kod çalıştırmanıza olanak sağlayan bir sunucusuz hesaplama platformudur. DO Functions ile kodunuzu "fonksiyonlar" olarak yazabilir ve dağıtabilirsiniz. Bu fonksiyonlar, API, HTTP istekleri (etkinleştirilmişse) veya cron ile tetiklenebilir. Bu fonksiyonlar tamamen yönetilen bir ortamda çalıştırılır, bu yüzden ölçeklendirme, güvenlik veya bakım gibi konularla ilgilenmenize gerek yoktur.

DO'da bir fonksiyon oluşturmak için öncelikle bir ad alanı oluşturmanız gerekmektedir. Bu ad alanı fonksiyonları gruplandıracaktır. Ad alanı içinde bir fonksiyon oluşturabilirsiniz.

Tetikleyiciler

Bir fonksiyonu REST API aracılığıyla tetiklemek için (her zaman etkin, cli'nin kullandığı yöntem), bir kimlik doğrulama belirteci ile bir isteği tetiklemektir:

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 aracının bu belirteci nasıl aldığını görmek için (bunu çoğaltabilmeniz için), aşağıdaki komut ağ izini tam olarak gösterir:

doctl serverless connect --trace

HTTP tetikleyici etkinleştirildiğinde, bir web işlevi bu HTTP yöntemleri GET, POST, PUT, PATCH, DELETE, HEAD ve OPTIONS aracılığıyla çağrılabilir.

DO işlevlerinde, çevresel değişkenler şifrelenemez (bu yazı yazıldığı sırada). Onları CLI'dan okumak için herhangi bir yol bulamadım, ancak konsoldan doğrudan okunabilir.

İşlev URL'leri şu şekildedir: https://<rastgele>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>

Numaralandırma

# 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 sandboxunda metadata uç noktası bulunmamaktadır.

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated