DO - Functions

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Osnovne informacije

DigitalOcean Functions, takođe poznate kao "DO Functions", je platforma za serverless računarstvo koja vam omogućava da pokrećete kod bez brige o osnovnoj infrastrukturi. Sa DO Functions, možete pisati i implementirati svoj kod kao "funkcije" koje se mogu pokrenuti putem API-ja, HTTP zahteva (ako je omogućeno) ili cron-a. Ove funkcije se izvršavaju u potpuno upravljanoj okolini, tako da se ne morate brinuti o skaliranju, bezbednosti ili održavanju.

U DO-u, da biste kreirali funkciju, prvo morate kreirati namespace koji će grupisati funkcije. Unutar namespace-a možete zatim kreirati funkciju.

Okidači

Način pokretanja funkcije putem REST API-ja (uvek omogućeno, to je metoda koju koristi CLI) je pokretanje zahteva sa autentifikacionim tokenom kao što je:

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 alat za komandnu liniju dobija ovaj token (da biste ga mogli replicirati), sledeća komanda prikazuje kompletni mrežni trag:

doctl serverless connect --trace

Kada je HTTP okidač omogućen, veb funkcija može biti pozvana putem ovih HTTP metoda GET, POST, PUT, PATCH, DELETE, HEAD i OPTIONS.

U DO funkcijama, okružne promenljive ne mogu biti šifrovane (u trenutku pisanja ovog teksta). Nisam uspeo da pronađem način da ih pročitam putem CLI-ja, ali sa 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

Nema metapodataka sa Functions sandbox-a.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated