DO - Spaces

Support HackTricks

Podstawowe informacje

DigitalOcean Spaces to usługi przechowywania obiektów. Umożliwiają użytkownikom przechowywanie i udostępnianie dużych ilości danych, takich jak obrazy i inne pliki, w sposób skalowalny i opłacalny. Do Spaces można uzyskać dostęp za pośrednictwem panelu sterowania DigitalOcean lub korzystając z API DigitalOcean, a także są zintegrowane z innymi usługami DigitalOcean, takimi jak Droplets (wirtualne serwery prywatne) i Load Balancers.

Dostęp

Spaces mogą być publiczne (każdy może uzyskać do nich dostęp z Internetu) lub prywatne (tylko autoryzowani użytkownicy). Aby uzyskać dostęp do plików z prywatnej przestrzeni poza panelem sterowania, musimy wygenerować klucz dostępu i sekret. Są to para losowych tokenów, które służą jako nazwa użytkownika i hasło do uzyskania dostępu do Twojej przestrzeni.

URL przestrzeni wygląda tak: https://uniqbucketname.fra1.digitaloceanspaces.com/ Zauważ region jako subdomenę.

Nawet jeśli przestrzeń jest publiczna, pliki w niej mogą być prywatne (będziesz mógł uzyskać do nich dostęp tylko z danymi uwierzytelniającymi).

Jednak nawet jeśli plik jest prywatny, z konsoli można udostępnić plik za pomocą linku takiego jak https://fra1.digitaloceanspaces.com/uniqbucketname/filename?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=DO00PL3RA373GBV4TRF7%2F20221213%2Ffra1%2Fs3%2Faws4_request&X-Amz-Date=20221213T121017Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=6a183dbc42453a8d30d7cd2068b66aeb9ebc066123629d44a8108115def975bc na pewien czas:

Enumeracja

# Unauthenticated
## Note how the region is specified in the endpoint
aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com --no-sign-request s3://uniqbucketname

# Authenticated
## Configure spaces keys as AWS credentials
aws configure
AWS Access Key ID [None]: <spaces_key>
AWS Secret Access Key [None]: <Secret>
Default region name [None]:
Default output format [None]:

## List all buckets in a region
aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com

## List files inside a bucket
aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com s3://uniqbucketname

## It's also possible to generate authorized access to buckets from the API
Wsparcie HackTricks

Last updated