DO - Funkcije
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
DigitalOcean Functions, takođe poznate kao "DO Functions," je platforma za serverless računarstvo koja vam omogućava da izvršavate kod bez brige o osnovnoj infrastrukturi. Sa DO Functions, možete pisati i implementirati svoj kod kao "funkcije" koje mogu biti pokrenute putem API, HTTP zahteva (ako je omogućeno) ili cron. Ove funkcije se izvršavaju u potpuno upravljanom okruženju, tako da ne morate brinuti o skaliranju, bezbednosti ili održavanju.
U DO, da biste kreirali funkciju, prvo morate napraviti namespace koji će biti grupisanje funkcija.
Unutar namespace-a možete zatim kreirati funkciju.
Okidači
Način pokretanja funkcije putem REST API (uvek omogućeno, to je metoda koju koristi cli) je pokretanjem zahteva sa tokenom za autentifikaciju kao:
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="
Da biste videli kako doctl
cli alat dobija ovaj token (tako da ga možete replicirati), sledeća komanda prikazuje kompletnu mrežnu analizu:
doctl serverless connect --trace
Kada je HTTP okidač omogućen, web funkcija može biti pozvana putem ovih HTTP metoda GET, POST, PUT, PATCH, DELETE, HEAD i OPTIONS.
caution
U DO funkcijama, promenljive okruženja ne mogu biti enkriptovane (u vreme pisanja ovog teksta).
Nisam mogao da pronađem način da ih pročitam iz CLI, ali iz konzole je jednostavno.
URL-ovi funkcija izgledaju ovako: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>
Enumeracija
# 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
Ne postoji metadata endpoint iz Functions sandbox-a.
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.