Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
baserunner — Uno strumento per esplorare i datastore Firebase. | Kitploit
Strumenti/GitHubGitHub/iosiro/baserunner
ExploitRaccolta InformazioniSicurezza WebPenetration TestingSicurezza CloudSicurezza dei Database
GitHubiosiro/baserunner

baserunner

Uno strumento per esplorare i datastore Firebase.

Vedi Repository
240211 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Baserunner

Uno strumento per esplorare e sfruttare i datastore Firebase. Vedi questo post sul nostro blog per una panoramica su come funziona Firebase e perché abbiamo sviluppato questo strumento.

Configurazione

  1. git clone https://github.com/iosiro/baserunner.git
  2. cd baserunner
  3. npm install
  4. npm run build
  5. npm start
  6. Vai a http://localhost:47710 nel tuo browser.

Utilizzo

L'interfaccia di Baserunner ha questo aspetto:

Per prima cosa, usa la casella di testo di configurazione per caricare una struttura JSON di configurazione Firebase dall'app che desideri testare. Ha questo aspetto:

root@kitploit:~
{
  "apiKey": "API_KEY",
  "authDomain": "PROJECT_ID.firebaseapp.com",
  "databaseURL": "https://PROJECT_ID.firebaseio.com",
  "projectId": "PROJECT_ID",
  "storageBucket": "PROJECT_ID.appspot.com",
  "messagingSenderId": "SENDER_ID",
  "appId": "APP_ID",
  "measurementId": "G-MEASUREMENT_ID",
  "databaseURL": "https://PROJECT_ID.firebasedatabase.app/"
}

Quindi accedi come utente normale, con email e password o con un numero di telefono. Quando accedi con un numero di telefono, completa il CAPTCHA prima di inviare il numero. Ti verrà quindi richiesto un OTP dal tuo SMS. Inseriscilo senza completare il CAPTCHA per completare l'accesso. Nota che puoi saltare questo passaggio per testare le query senza autenticazione.

Infine, puoi usare l'interfaccia delle query per inviare query a Cloud Firestore, Realtime Database e Firebase Storage dell'applicazione. Baserunner fornisce una serie di query template per azioni comuni. Fai clic su una di esse per caricarla nella casella di testo e sostituisci i valori che assomigliano a ==LIKE THIS== con nomi validi di collezioni, ID, campi, percorsi di file, ecc.

Poiché non è possibile ottenere un elenco delle collezioni disponibili utilizzando l'SDK JavaScript di Firebase, dovrai indovinarle o ricavare i loro nomi dal JavaScript front-end dell'applicazione target.

Baserunner può anche interrogare i bucket di Firebase Storage. Attualmente, lo strumento supporta la lista delle directory e il download di file. Per utilizzarlo, assicurati che la configurazione Firebase includa un campo storageBucket. Le operazioni di storage funzioneranno con la stessa autenticazione delle tue query al database.

FAQ

Come faccio a sapere se un'app utilizza Cloud Firestore o Realtime Database?

Le applicazioni che utilizzano Realtime Database avranno una chiave databaseURL nei loro oggetti di configurazione. Le applicazioni senza questa chiave possono essere considerate come utilizzanti Cloud Firestore. Nota che è possibile che le applicazioni Firebase utilizzino entrambi i datastore, quindi in caso di dubbio, esegui entrambi i tipi di query.

Vengo bloccato da CORS!

Per funzionare come previsto, Baserunner si aspetta che le applicazioni accettino richieste da localhost, il che è abilitato per impostazione predefinita. Pertanto, Baserunner non può essere utilizzato come applicazione ospitata.

Se le richieste da localhost non sono consentite dall'applicazione che stai testando, una versione di Baserunner con un set di funzionalità ridotto può comunque essere eseguita aprendo dist/index.html nel tuo browser. Nota che questa modalità di esecuzione di Baserunner supporta solo l'accesso con email + password e non l'accesso telefonico.

Come faccio a sapere quali collezioni interrogare?

Cloud Firestore: Per motivi di sicurezza, l'API JavaScript lato client di Firebase non fornisce un meccanismo per elencare le collezioni. Dovrai dedurle esaminando il codice JavaScript dell'applicazione target e facendo ipotesi plausibili.

Realtime Database: Poiché questo datastore è rappresentato come un oggetto JSON, puoi usare la query "[Realtime Database] Leggi datastore" fornita per tentare di visualizzare l'intero contenuto. Nota che potrebbe fallire a seconda delle regole configurate.

Come faccio a sapere quali file ci sono in Firebase Storage?

Prova prima a elencare la radice (/). Se è protetta, guarda a quali file sta accedendo l'app che stai testando. Potresti provare cartelle come /uploads o /images.

Posso vedere i risultati delle query precedenti?

Sebbene solo l'ultimo risultato della query venga visualizzato sulla pagina di Baserunner, tutti i risultati vengono registrati nella console del browser.

Quando eseguo query Realtime Database, ricevo un errore che dice che il client è offline.

Prova a rieseguire la query.

Come faccio ad accedere con Google?

  1. Trova l'ID client OAuth di Google dell'app (ad es. NUMERIC_STR-ALPHANUMERIC_STR.apps.googleusercontent.com). Puoi farlo cliccando su "Accedi con Google" sul sito, ispezionando l'HTML e cercando apps.googleusercontent.com.

  2. Modifica il file DNS (/etc/hosts su Linux e macOS, C:\Windows\system32\drivers\etc\hosts su Windows) e aggiungi la seguente riga:

root@kitploit:~
127.0.0.1 PROJECT_ID.firebaseapp.com
  1. Nella directory di Baserunner, esegui il seguente comando per generare un certificato autofirmato:
root@kitploit:~
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./selfsigned.key -out selfsigned.crt

Ai prompt, puoi lasciare tutti i campi vuoti tranne Common Name (e.g. server FQDN or YOUR name) [], che dovresti impostare su PROJECT_ID.firebaseapp.com.

  1. Cancella tutti i dati del sito web relativi a PROJECT_ID.firebaseapp.com dalle impostazioni del browser (in alternativa, usa un browser nuovo) per evitare che il browser blocchi la connessione a causa di una discrepanza del certificato (HSTS).

Se usi DNS-over-TLS o DNS-over-HTTPS sul browser che stai utilizzando per Baserunner, disabilitalo temporaneamente per falsificare l'origine richiesta per l'accesso con Google su Firebase.

  1. Esegui Baserunner usando npm run startssl e poi carica https://PROJECT_ID.firebaseapp.com nel tuo browser.

  2. Inserisci l'ID client OAuth di Google trovato al punto 1 nel campo sotto "Accedi con Google" e fai clic su "Imposta ID client Google".

  3. Fai clic sul pulsante di accesso con Google e accedi utilizzando l'account Google con cui ti sei registrato per l'app.

  4. Fai clic sul pulsante "Imposta login Google".

  5. Esplora il database come faresti con un account non Google.

  6. Quando hai terminato i test di sicurezza, rimuovi la riga del punto 2 dal tuo file DNS.

Scarica lo strumento