DO - Functions

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

मूल जानकारी

DigitalOcean Functions, जिसे "DO Functions" भी कहा जाता है, एक सर्वरलेस कंप्यूटिंग प्लेटफॉर्म है जो आपको अंदर्निहित इंफ्रास्ट्रक्चर की चिंता किए बिना कोड चलाने की अनुमति देता है। DO Functions के साथ, आप "फ़ंक्शन" के रूप में अपना कोड लिख सकते हैं और डिप्लॉय कर सकते हैं जो API, HTTP अनुरोधों (यदि सक्षम है) या क्रॉन के माध्यम से ट्रिगर किए जा सकते हैं। ये फ़ंक्शन पूरी तरह से प्रबंधित वातावरण में निष्पादित होते हैं, इसलिए आपको स्केलिंग, सुरक्षा, या रखरखाव की चिंता करने की आवश्यकता नहीं है।

DO में, एक फ़ंक्शन बनाने के लिए पहले आपको नेमस्पेस बनाना होगा जो फ़ंक्शनों को समूहित करेगा। नेमस्पेस के अंदर आप फिर एक फ़ंक्शन बना सकते हैं।

ट्रिगर

फ़ंक्शन को REST API के माध्यम से ट्रिगर करने का तरीका (हमेशा सक्षम है, यह वह विधि है जिसका cli उपयोग करता है) एक प्रमाणीकरण टोकन के साथ एक अनुरोध ट्रिगर करके है:

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 टूल इस टोकन को कैसे प्राप्त कर रहा है (ताकि आप इसे पुनर्निर्माण कर सकें), निम्नलिखित कमांड पूरी नेटवर्क ट्रेस दिखाता है:

doctl serverless connect --trace

जब HTTP ट्रिगर सक्रिय होता है, एक वेब फंक्शन को इन HTTP methods GET, POST, PUT, PATCH, DELETE, HEAD और OPTIONS के माध्यम से आह्वानित किया जा सकता है।

DO functions में, पर्यावरण चर को एन्क्रिप्ट नहीं किया जा सकता (इस लेखन के समय में)। मैंने CLI से उन्हें पढ़ने का कोई तरीका नहीं ढूंढा, लेकिन कंसोल से यह सीधा है।

फंक्शन URLs इस तरह दिखते हैं: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>

गणना

# 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

फंक्शन्स सैंडबॉक्स से मेटाडेटा एंडपॉइंट नहीं है।

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated