DO - Functions

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Βασικές Πληροφορίες

Οι Συναρτήσεις DigitalOcean, γνωστές και ως "DO Functions," είναι μια πλατφόρμα υπολογισμού χωρίς διακομιστή που σας επιτρέπει να εκτελείτε κώδικα χωρίς να ανησυχείτε για την υποκείμενη υποδομή. Με τις DO Functions, μπορείτε να γράψετε και να αναπτύξετε τον κώδικά σας ως "συναρτήσεις" που μπορούν να ενεργοποιηθούν μέσω API, HTTP αιτημάτων (εάν είναι ενεργοποιημένα) ή cron. Αυτές οι συναρτήσεις εκτελούνται σε ένα πλήρως διαχειριζόμενο περιβάλλον, οπότε δεν χρειάζεται να ανησυχείτε για την κλιμάκωση, την ασφάλεια ή τη συντήρηση.

Στο DO, για να δημιουργήσετε μια συνάρτηση πρέπει πρώτα να δημιουργήσετε ένα namespace που θα ομαδοποιεί τις συναρτήσεις. Μέσα στο namespace μπορείτε να δημιουργήσετε μια συνάρτηση.

Ενεργοποιητές

Ο τρόπος ενεργοποίησης μιας συνάρτησης μέσω REST API (πάντα ενεργοποιημένο, είναι η μέθοδος που χρησιμοποιεί η γραμμή εντολών) είναι να ενεργοποιήσετε ένα αίτημα με ένα διαπιστευτήριο πιστοποίησης όπως:

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 λαμβάνει αυτό το διακριτικό (ώστε να μπορείτε να το αναπαράγετε), η παρακάτω εντολή εμφανίζει τον πλήρη ίχνος δικτύου:

doctl serverless connect --trace

Όταν είναι ενεργοποιημένη η ενεργοποίηση του HTTP trigger, μια λειτουργία ιστού μπορεί να κληθεί μέσω αυτών των HTTP μεθόδων GET, POST, PUT, PATCH, DELETE, HEAD και OPTIONS.

Στις λειτουργίες DO, οι μεταβλητές περιβάλλοντος δεν μπορούν να κρυπτογραφηθούν (την στιγμή που γράφονται αυτές οι πληροφορίες). Δεν μπόρεσα να βρω κάποιον τρόπο να τις διαβάσω από το CLI, αλλά από την κονσόλα είναι απλό.

Οι διευθύνσεις URL των λειτουργιών φαίνονται έτσι: https://<τυχαίο>.doserverless.co/api/v1/web/<αναγνωριστικό-περιβάλλοντος>/default/<όνομα-λειτουργίας>

Απαρίθμηση

# 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 sandbox.

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated