DO - Functions

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Basiese Inligting

DigitalOcean Funksies, ook bekend as "DO Funksies," is 'n serverlose rekenplatform wat jou in staat stel om kode uit te voer sonder om oor die onderliggende infrastruktuur te bekommer. Met DO Funksies kan jy jou kode skryf en implementeer as "funksies" wat geaktiveer kan word via API, HTTP-versoeke (indien geaktiveer) of cron. Hierdie funksies word uitgevoer in 'n volledig bestuurde omgewing, sodat jy nie hoef te bekommer oor skaalbaarheid, sekuriteit of onderhoud nie.

In DO moet jy eers 'n funksie skep deur 'n naamruimte te skep wat funksies sal groepeer. Binne die naamruimte kan jy dan 'n funksie skep.

Aktiveerders

Die manier om 'n funksie te aktiveer via REST API (altyd geaktiveer, dit is die metode wat die opdraglyn gebruik) is deur 'n versoek te aktiveer met 'n verifikasietoken soos:

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="

Om te sien hoe die doctl opdraggelyntoepassing hierdie token bekom (sodat jy dit kan dupliseer), toon die volgende opdrag die volledige netwerkspoor:

doctl serverless connect --trace

Wanneer die HTTP-trigger geaktiveer is, kan 'n webfunksie geaktiveer word deur middel van hierdie HTTP-metodes GET, POST, PUT, PATCH, DELETE, HEAD en OPTIONS.

In DO-funksies kan omgewingsveranderlikes nie versleutel word nie (op die tydstip van hierdie skrywe). Ek kon nie enige manier vind om hulle vanaf die opdraglyn te lees nie, maar vanaf die konsole is dit reguit vorentoe.

Funksie-URL's lyk soos hierdie: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>

Enumerasie

# 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

Daar is geen metadata-eindpunt van die Funksies-sandbox.

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated