DO - Functions
Reading time: 3 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
기본 정보
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를 통해 호출될 수 있습니다.
caution
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
caution
Functions 샌드박스에는 메타데이터 엔드포인트가 없습니다.
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.