DO - Functions

htARTE (HackTricks AWS Red Team Expert) 를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

기본 정보

DigitalOcean Functions, 또는 "DO Functions"은 기반 인프라에 대해 걱정하지 않고 코드를 실행할 수 있는 서버리스 컴퓨팅 플랫폼입니다. DO Functions을 사용하면 "함수"로 코드를 작성하고 배포할 수 있으며, 이러한 함수는 API, HTTP 요청 (활성화된 경우) 또는 cron을 통해 트리거될 수 있습니다. 이러한 함수는 완전히 관리되는 환경에서 실행되므로 확장, 보안 또는 유지 관리에 대해 걱정할 필요가 없습니다.

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 메소드 GET, POST, PUT, PATCH, DELETE, HEAD 및 OPTIONS를 통해 호출될 수 있습니다.

DO 함수에서는 환경 변수를 암호화할 수 없습니다 (이 글을 작성하는 시점에서). CLI에서는 읽는 방법을 찾을 수 없었지만 콘솔에서는 간단합니다.

함수 URL은 다음과 같이 보입니다: 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

함수 샌드박스에서는 메타데이터 엔드포인트가 없습니다.

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新