Hacking püf noktalarınızı paylaşarak PR'lar göndererekHackTricks ve HackTricks Cloud github depolarına katkıda bulunun.
Temel Bilgiler
Landing sayfalarına göre Supabase, açık kaynaklı bir Firebase alternatifidir. Projeye Postgres veritabanı, Kimlik Doğrulama, anlık API'lar, Kenar İşlevleri, Gerçek Zamanlı abonelikler, Depolama ve Vektör gömmeleri ile başlayın.
Alt Alan Adı
Temelde bir proje oluşturulduğunda, kullanıcı jnanozjdybtpqgcwhdiz.supabase.co gibi bir supabase.co alt alan adı alacaktır.
Veritabanı yapılandırması
Bu verilere https://supabase.com/dashboard/project/<project-id>/settings/database gibi bir bağlantıdan erişilebilir
Bu veritabanı bazı AWS bölgelerine dağıtılacak ve ona bağlanmak için şu şekilde bağlanmak mümkün olacaktır: postgres://postgres.jnanozjdybtpqgcwhdiz:[YOUR-PASSWORD]@aws-0-us-west-1.pooler.supabase.com:5432/postgres (bu us-west-1'de oluşturuldu).
Şifre önceden kullanıcının belirlediği bir şifredir.
Bu nedenle, alt alan adı bilindiği ve kullanıcı adı olarak kullanıldığı için ve AWS bölgeleri sınırlı olduğundan, şifreyi denemek için kaba kuvvet uygulamak mümkün olabilir.
Bu bölüm ayrıca şunları içerir:
Veritabanı şifresini sıfırlama
Bağlantı havuzunu yapılandırma
SSL'yi yapılandırma: Düz metin bağlantılarını reddet (varsayılan olarak etkindir)
Disk boyutunu yapılandırma
Ağ kısıtlamaları ve yasakları uygulama
API Yapılandırması
Bu verilere https://supabase.com/dashboard/project/<project-id>/settings/api gibi bir bağlantıdan erişilebilir
Projedeki supabase API'ına erişmek için URL şu şekilde olacaktır: https://jnanozjdybtpqgcwhdiz.supabase.co.
anon api anahtarları
Ayrıca, role: "anon" olan bir anon API anahtarı oluşturacaktır, örneğin: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpuYW5vemRyb2J0cHFnY3doZGl6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTQ5OTI3MTksImV4cCI6MjAzMDU2ODcxOX0.sRN0iMGM5J741pXav7UxeChyqBE9_Z-T0tLA9Zehvqk uygulamanın API'ye erişmek için kullanması gerekecektir.
Bu API'ye erişmek için API REST'i belgelerde bulunabilir, ancak en ilginç uç noktalar şunlar olacaktır:
</details>
Bu yüzden, bir müşterinin supabase'i kullandığını ve kendilerine verilen alt alan adını keşfettiğinizde (şirketin bir alt alan adının supabase alt alan adının üstünde bir CNAME'e sahip olması mümkündür), **supabase API'sını kullanarak platformda yeni bir hesap oluşturmayı deneyebilirsiniz**.
### gizli / service\_role api anahtarları
Bir gizli API anahtarı da **`role: "service_role"`** ile oluşturulacaktır. Bu API anahtarı gizli olmalıdır çünkü **Satır Düzeyi Güvenliği** atlayabilecektir.
API anahtarı şu şekildedir: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpuYW5vemRyb2J0cHFnY3doZGl6Iiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTcxNDk5MjcxOSwiZXhwIjoyMDMwNTY4NzE5fQ.0a8fHGp3N_GiPq0y0dwfs06ywd-zhTwsm486Tha7354`
### JWT Secret
Uygulamanın **özel JWT belirteci** de oluşturulacak, böylece uygulama **özel JWT belirteçleri oluşturup imzalayabilir**.
## Kimlik Doğrulama
### Kayıtlar
<div data-gb-custom-block data-tag="hint" data-style='success'>
**Varsayılan olarak**, supabase **yeni kullanıcıların** önceki bahsedilen API uç noktalarını kullanarak projenizde hesap oluşturmalarına izin verecektir.
</div>
Ancak, bu yeni hesapların, varsayılan olarak, **giriş yapabilmek için e-posta adreslerini doğrulamaları gerekecektir**. E-posta adreslerini doğrulamadan giriş yapmalarına izin vermek için **"Anonim girişlere izin ver"** özelliğini etkinleştirmek mümkündür. Bu, **beklenmeyen verilere erişim** sağlayabilir (rolleri `public` ve `authenticated` olur).\
Bu çok kötü bir fikirdir çünkü supabase aktif kullanıcı başına ücretlendirme yapar, bu yüzden insanlar kullanıcılar oluşturabilir ve giriş yapabilir ve supabase bu kullanıcılar için ücretlendirme yapacaktır:
<figure><img src="../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
### Şifreler & oturumlar
Minimum şifre uzunluğunu (varsayılan olarak), gereksinimleri (varsayılan olarak yok) belirtmek ve sızdırılmış şifreleri kullanmayı engellemek mümkündür.\
Varsayılan olanların zayıf olduğu için **gereksinimleri iyileştirmek önerilir**.
* Kullanıcı Oturumları: Kullanıcı oturumlarının nasıl çalışacağını yapılandırmak mümkündür (zaman aşımı, kullanıcı başına 1 oturum...)
* Bot ve Kötüye Kullanım Koruması: Captcha'yı etkinleştirmek mümkündür.
### SMTP Ayarları
E-posta göndermek için bir SMTP ayarlamak mümkündür.
### Gelişmiş Ayarlar
* Erişim belirteçlerinin süresini ayarlamak (varsayılan olarak 3600)
* Potansiyel olarak tehlikeye atılmış yenileme belirteçlerini tespit etmek ve iptal etmek için zaman aşımı ayarlamak
* MFA: Kullanıcı başına aynı anda kaç MFA faktörünün kaydedilebileceğini belirtmek (varsayılan olarak 10)
* Maksimum Doğrudan Veritabanı Bağlantıları: Kimlik doğrulamada kullanılan bağlantıların maksimum sayısı (varsayılan olarak 10)
* Maksimum İstek Süresi: Bir Kimlik doğrulama isteğinin sürebileceği maksimum süre (varsayılan olarak 10s)
## Depolama
<div data-gb-custom-block data-tag="hint" data-style='success'>
Supabase, **dosyaları depolamaya** ve bunlara bir URL üzerinden erişilebilmesini sağlamaya izin verir (S3 kovaları kullanır).
</div>
* Yükleme dosya boyutu sınırını ayarlamak (varsayılan olarak 50MB)
* S3 bağlantısı, şu şekilde bir URL ile verilir: `https://jnanozjdybtpqgcwhdiz.supabase.co/storage/v1/s3`
* Bir `erişim anahtarı kimliği` (ör. `a37d96544d82ba90057e0e06131d0a7b`) ve bir `gizli erişim anahtarı` (ör. `58420818223133077c2cec6712a4f909aec93b4daeedae205aa8e30d5a860628`) tarafından oluşturulan S3 erişim anahtarlarını **isteme** mümkündür.
## Kenar İşlevleri
Supabase'e **saklanacak sırları** da mümkündür ve bunlar **kenar işlevleri tarafından erişilebilir** olacaktır (web üzerinden oluşturulabilir ve silinebilirler, ancak değerlerine doğrudan erişmek mümkün değildir).
<details>
<summary><strong>Sıfırdan kahraman olmak için AWS hacklemeyi öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın(https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking hilelerinizi göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar göndererek paylaşın.
</details>