DO - Fonksiyonlar
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Temel Bilgiler
DigitalOcean Fonksiyonları, “DO Fonksiyonları” olarak da bilinir, altyapı hakkında endişelenmeden kod çalıştırmanıza olanak tanıyan bir sunucusuz bilişim platformudur. DO Fonksiyonları ile kodunuzu API, HTTP istekleri (eğer etkinleştirilmişse) veya cron aracılığıyla tetiklenebilen “fonksiyonlar” olarak yazıp dağıtabilirsiniz. Bu fonksiyonlar tamamen yönetilen bir ortamda çalıştırılır, bu nedenle ölçeklendirme, güvenlik veya bakım konusunda endişelenmenize gerek yoktur.
DO’da bir fonksiyon oluşturmak için önce bir ad alanı oluşturmanız gerekir; bu, fonksiyonları gruplandıracaktır.
Ad alanının içinde bir fonksiyon oluşturabilirsiniz.
Tetikleyiciler
REST API aracılığıyla bir fonksiyonu tetikleme yöntemi (her zaman etkin, cli’nin kullandığı yöntem) bir kimlik doğrulama token’ı ile bir istek 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 token’ı nasıl aldığını görmek için (bunu tekrarlayabilmeniz için), aşağıdaki komut tam ağ izini 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.
Caution
DO işlevlerinde, ortam değişkenleri şifrelenemez (bu yazının yazıldığı sırada).
CLI’den okumak için herhangi bir yol bulamadım ama konsoldan oldukça basit.
İşlev URL’leri şu şekilde görünür: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>
Enumeration
# 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 sandbox’tan metadata endpoint yoktur.
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

