Volgens hul landing page: Supabase is 'n oopbron Firebase alternatief. Begin jou projek met 'n Postgres databasis, Verifikasie, onmiddellike API's, Edge Funksies, Realtime inteken, Berging, en Vektor inbedings.
Subdomein
Basies wanneer 'n projek geskep word, sal die gebruiker 'n supabase.co subdomein ontvang soos: jnanozjdybtpqgcwhdiz.supabase.co
Databasis konfigurasie
Hierdie data kan vanaf 'n skakel soos https://supabase.com/dashboard/project/<project-id>/settings/database verkry word
Hierdie databasis sal in 'n AWS streek ontplooi word, en om verbinding te maak, sal dit moontlik wees om te verbind met: postgres://postgres.jnanozjdybtpqgcwhdiz:[YOUR-PASSWORD]@aws-0-us-west-1.pooler.supabase.com:5432/postgres (dit is in us-west-1 geskep).
Die wagwoord is 'n wagwoord wat die gebruiker voorheen ingevoer het.
Daarom, aangesien die subdomein 'n bekende een is en dit as gebruikersnaam gebruik word en die AWS streke beperk is, mag dit moontlik wees om te probeer om die wagwoord te brute force.
Hierdie afdeling bevat ook opsies om:
Die databasis wagwoord te herstel
Verbinding pooling te konfigureer
SSL te konfigureer: Weier plan-kleur verbindings (standaard is dit geaktiveer)
Skyf grootte te konfigureer
Netwerk beperkings en verbande toe te pas
API Konfigurasie
Hierdie data kan vanaf 'n skakel soos https://supabase.com/dashboard/project/<project-id>/settings/api verkry word
Die URL om toegang te verkry tot die supabase API in jou projek sal wees: https://jnanozjdybtpqgcwhdiz.supabase.co.
anon api sleutels
Dit sal ook 'n anon API sleutel genereer (role: "anon"), soos: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpuYW5vemRyb2J0cHFnY3doZGl6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTQ5OTI3MTksImV4cCI6MjAzMDU2ODcxOX0.sRN0iMGM5J741pXav7UxeChyqBE9_Z-T0tLA9Zehvqk wat die toepassing nodig sal hê om te gebruik om die API sleutel blootgestel in ons voorbeeld te kontak.
Dit is moontlik om die API REST te vind om hierdie API te kontak in die docs, maar die mees interessante eindpunte sal wees:
</details>
So, wanneer jy 'n kliënt ontdek wat supabase gebruik met die subdomein wat aan hulle toegeken is (dit is moontlik dat 'n subdomein van die maatskappy 'n CNAME oor hul supabase subdomein het), kan jy probeer om **'n nuwe rekening in die platform te skep met die supabase API**.
### geheim / diens\_rol api sleutels
'n Geheime API-sleutel sal ook gegenereer word met **`role: "service_role"`**. Hierdie API-sleutel moet geheim wees omdat dit in staat sal wees om **Row Level Security** te omseil.
Die API-sleutel lyk soos volg: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpuYW5vemRyb2J0cHFnY3doZGl6Iiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTcxNDk5MjcxOSwiZXhwIjoyMDMwNTY4NzE5fQ.0a8fHGp3N_GiPq0y0dwfs06ywd-zhTwsm486Tha7354`
### JWT Geheim
'n **JWT Geheim** sal ook gegenereer word sodat die toepassing **aangepaste JWT tokens kan skep en teken**.
## Verifikasie
### Teken in
<div data-gb-custom-block data-tag="hint" data-style='success'>
Deur **standaard** sal supabase **nuwe gebruikers toelaat om rekeninge te skep** op jou projek deur die voorheen genoemde API-eindpunte te gebruik.
</div>
E however, hierdie nuwe rekeninge, standaard, **sal hul e-posadres moet verifieer** om in die rekening in te log. Dit is moontlik om **"Laat anonieme aanmeldings toe"** in te skakel om mense toe te laat om in te log sonder om hul e-posadres te verifieer. Dit kan toegang tot **onverwagte data** verleen (hulle kry die rolle `public` en `authenticated`).\
Dit is 'n baie slegte idee omdat supabase per aktiewe gebruiker hef, so mense kan gebruikers skep en inlog en supabase sal vir hulle hef:
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
### Wagwoorde & sessies
Dit is moontlik om die minimum wagwoordlengte aan te dui (standaard), vereistes (geen standaard) en te verhoed dat gelekte wagwoorde gebruik word.\
Dit word aanbeveel om die **vereistes te verbeter aangesien die standaard een swak is**.
* Gebruiker Sessies: Dit is moontlik om te configureer hoe gebruiker sessies werk (tydslote, 1 sessie per gebruiker...)
* Bot en Misbruik Beskerming: Dit is moontlik om Captcha in te skakel.
### SMTP Instellings
Dit is moontlik om 'n SMTP in te stel om e-posse te stuur.
### Gevorderde Instellings
* Stel vervaldatum in vir toegangstokens (3600 standaard)
* Stel in om potensieel gecompromitteerde verfrissingstokens te detecteer en in te trek en tydslote
* MFA: Dui aan hoeveel MFA-faktore gelyktydig per gebruiker geregistreer kan word (10 standaard)
* Maksimum Direkte Databasisverbindinge: Maksimum aantal verbindings wat gebruik word om te verifieer (10 standaard)
* Maksimum Versoekduur: Maksimum tyd wat toegelaat word vir 'n Auth-versoek om te duur (10s standaard)
## Berging
<div data-gb-custom-block data-tag="hint" data-style='success'>
Supabase laat **toe om lêers te stoor** en dit oor 'n URL beskikbaar te maak (dit gebruik S3-buckets).
</div>
* Stel die opgelaaide lêergrootte limiet in (standaard is 50MB)
* Die S3-verbinding word gegee met 'n URL soos: `https://jnanozjdybtpqgcwhdiz.supabase.co/storage/v1/s3`
* Dit is moontlik om **S3 toegangssleutel** aan te vra wat gevorm word deur 'n `access key ID` (bv. `a37d96544d82ba90057e0e06131d0a7b`) en 'n `secret access key` (bv. `58420818223133077c2cec6712a4f909aec93b4daeedae205aa8e30d5a860628`)
## Edge Funksies
Dit is moontlik om **geheime** in supabase te stoor wat ook **toeganklik sal wees deur edge funksies** (hulle kan van die web geskep en verwyder word, maar dit is nie moontlik om hul waarde direk te bekom nie).
<div data-gb-custom-block data-tag="hint" data-style='success'>
Leer & oefen AWS Hacking:<img src="../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="../.gitbook/assets/image (2) (1).png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/image (2) (1).png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Ondersteun HackTricks</summary>
* Kyk na die [**subskripsieplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
</div>