DO - Functions
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Basic Information
DigitalOcean Functions, επίσης γνωστές ως “DO Functions,” είναι μια πλατφόρμα υπολογισμού χωρίς διακομιστές που σας επιτρέπει να εκτελείτε κώδικα χωρίς να ανησυχείτε για την υποκείμενη υποδομή. Με τις DO Functions, μπορείτε να γράψετε και να αναπτύξετε τον κώδικά σας ως “συναρτήσεις” που μπορούν να ενεργοποιηθούν μέσω API, HTTP αιτημάτων (αν είναι ενεργοποιημένα) ή cron. Αυτές οι συναρτήσεις εκτελούνται σε ένα πλήρως διαχειριζόμενο περιβάλλον, οπότε δεν χρειάζεται να ανησυχείτε για την κλιμάκωση, την ασφάλεια ή τη συντήρηση.
Στο DO, για να δημιουργήσετε μια συνάρτηση, πρώτα πρέπει να δημιουργήσετε ένα namespace το οποίο θα είναι ομαδοποίηση συναρτήσεων.
Μέσα στο namespace μπορείτε στη συνέχεια να δημιουργήσετε μια συνάρτηση.
Triggers
Ο τρόπος για να ενεργοποιήσετε μια συνάρτηση μέσω REST API (πάντα ενεργοποιημένο, είναι η μέθοδος που χρησιμοποιεί το cli) είναι να ενεργοποιήσετε ένα αίτημα με ένα authentication token όπως:
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 αποκτά αυτό το token (έτσι ώστε να μπορείτε να το αναπαραγάγετε), η παρακάτω εντολή δείχνει την πλήρη καταγραφή δικτύου:
doctl serverless connect --trace
Όταν είναι ενεργοποιημένος ο HTTP trigger, μια διαδικτυακή λειτουργία μπορεί να κληθεί μέσω αυτών των HTTP μεθόδων GET, POST, PUT, PATCH, DELETE, HEAD και OPTIONS.
Caution
Στις λειτουργίες DO, οι μεταβλητές περιβάλλοντος δεν μπορούν να κρυπτογραφηθούν (τη στιγμή που γράφεται αυτό).
Δεν μπόρεσα να βρω κανέναν τρόπο να τις διαβάσω από το CLI, αλλά από την κονσόλα είναι απλό.
Οι διευθύνσεις URL των λειτουργιών μοιάζουν έτσι: 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
Δεν υπάρχει endpoint μεταδεδομένων από το sandbox Functions.
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

