Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/iosiro/baserunner
ExploitationCollecte d'InformationsSécurité WebTests d'IntrusionSécurité CloudSécurité des Bases de Données
GitHubiosiro/baserunner

baserunner

Un outil pour explorer les datastores Firebase.

Voir le dépôt
24021il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Baserunner

Un outil pour explorer et exploiter les magasins de données Firebase. Voir ce billet sur notre blog pour un aperçu du fonctionnement de Firebase et des raisons pour lesquelles nous avons développé cet outil.

Configuration

  1. git clone https://github.com/iosiro/baserunner.git
  2. cd baserunner
  3. npm install
  4. npm run build
  5. npm start
  6. Accédez à http://localhost:47710 dans votre navigateur.

Utilisation

L'interface de Baserunner ressemble à ceci :

Tout d'abord, utilisez la zone de texte de configuration pour charger une structure JSON de configuration Firebase depuis l'application que vous souhaitez tester. Elle ressemble à ceci :

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/"
}

Ensuite, connectez-vous en tant qu'utilisateur régulier, soit avec une adresse e-mail et un mot de passe, soit avec un numéro de téléphone mobile. Lors de la connexion avec un numéro de téléphone mobile, complétez le CAPTCHA avant de soumettre votre numéro. Vous serez alors invité à saisir un OTP provenant de votre SMS. Saisissez-le sans compléter le CAPTCHA pour terminer la connexion. Notez que vous pouvez ignorer cette étape pour tester des requêtes sans authentification.

Enfin, vous pouvez utiliser l'interface de requête pour soumettre des requêtes à Cloud Firestore, Realtime Database et Firebase Storage de l'application. Baserunner fournit un certain nombre de requêtes modèles pour les actions courantes. Cliquez sur l'une d'elles pour la charger dans la zone de texte, et remplacez les valeurs qui ressemblent à ==LIKE THIS== par des noms valides de collections, IDs, champs, chemins de fichiers, etc.

Comme il n'y a aucun moyen d'obtenir une liste des collections disponibles en utilisant le SDK JavaScript de Firebase, vous devrez les deviner ou trouver leurs noms dans le JavaScript front-end de l'application cible.

Baserunner peut également interroger les buckets Firebase Storage. Actuellement, l'outil prend en charge la liste des répertoires et le téléchargement de fichiers. Pour l'utiliser, assurez-vous que votre configuration Firebase inclut un champ storageBucket. Les opérations de stockage fonctionneront avec la même authentification que vos requêtes de base de données.

FAQ

Comment savoir si une application utilise Cloud Firestore ou Realtime Database ?

Les applications utilisant Realtime Database auront une clé databaseURL dans leurs objets de configuration. Les applications sans cette clé peuvent être supposées utiliser Cloud Firestore. Notez qu'il est possible pour les applications Firebase d'utiliser les deux magasins de données, donc en cas de doute, exécutez les deux types de requêtes.

Je suis bloqué par CORS !

Pour fonctionner comme prévu, Baserunner attend des applications qu'elles acceptent les requêtes depuis localhost, ce qui est activé par défaut. Par conséquent, Baserunner ne peut pas être utilisé comme application hébergée. Si les requêtes depuis localhost sont désactivées par l'application que vous testez, une version de Baserunner avec un ensemble de fonctionnalités réduit peut toujours être exécutée en ouvrant dist/index.html dans votre navigateur. Notez que cette manière d'exécuter Baserunner ne prend en charge que la connexion par e-mail + mot de passe, et non la connexion par téléphone.

Comment savoir quelles collections interroger ?

Cloud Firestore : Pour des raisons de sécurité, l'API JavaScript côté client de Firebase ne fournit pas de mécanisme pour lister les collections. Vous devrez les déduire en examinant le code JavaScript de l'application cible et en faisant des suppositions éclairées.

Realtime Database : Comme ce magasin de données est représenté sous forme d'objet JSON, vous pouvez utiliser la requête fournie "[Realtime Database] Read datastore" pour tenter de visualiser l'ensemble. Notez que cela peut échouer en fonction des règles configurées.

Comment savoir quels fichiers se trouvent dans Firebase Storage ?

Essayez d'abord de lister la racine (/). Si celle-ci est protégée, regardez quels fichiers l'application que vous testez accède. Vous pouvez essayer des dossiers comme /uploads ou /images.

Puis-je voir les résultats des requêtes précédentes ?

Bien que seul le résultat de la dernière requête soit affiché sur la page Baserunner, tous les résultats sont consignés dans la console du navigateur.

Lors de l'exécution de requêtes Realtime Database, j'obtiens une erreur indiquant que le client est hors ligne.

Essayez de relancer la requête.

Comment se connecter avec Google ?

  1. Trouvez l'ID client OAuth Google de l'application (c'est-à-dire NUMERIC_STR-ALPHANUMERIC_STR.apps.googleusercontent.com). Vous pouvez le faire en cliquant sur « Se connecter avec Google » sur le site, en inspectant le HTML et en recherchant apps.googleusercontent.com.

  2. Modifiez votre fichier DNS (/etc/hosts sous Linux et macOS, C:\Windows\system32\drivers\etc\hosts sous Windows) et ajoutez la ligne suivante :

root@kitploit:~
127.0.0.1 PROJECT_ID.firebaseapp.com
  1. Dans le répertoire de Baserunner, exécutez la commande suivante pour générer un certificat auto-signé :
root@kitploit:~
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./selfsigned.key -out selfsigned.crt

Aux invites, vous pouvez laisser tous les champs vides, sauf Common Name (e.g. server FQDN or YOUR name) [], que vous devez définir sur PROJECT_ID.firebaseapp.com.

  1. Effacez toutes les données de site relatives à PROJECT_ID.firebaseapp.com des paramètres de votre navigateur (ou utilisez un nouveau navigateur) afin d'éviter que le navigateur ne bloque votre connexion en raison d'une non-concordance de certificat (HSTS).

Si vous utilisez DNS-over-TLS ou DNS-over-HTTPS sur le navigateur que vous utilisez pour Baserunner, désactivez-le temporairement pour usurper l'origine requise pour la connexion Google sur Firebase.

  1. Exécutez Baserunner avec npm run startssl puis chargez https://PROJECT_ID.firebaseapp.com dans votre navigateur.

  2. Saisissez l'ID client OAuth Google que vous avez trouvé à l'étape 1 dans le champ sous « Se connecter avec Google » et cliquez sur « Définir l'ID client Google ».

  3. Cliquez sur le bouton de connexion Google et connectez-vous en utilisant le compte Google avec lequel vous vous êtes inscrit à l'application.

  4. Cliquez sur le bouton « Définir la connexion Google ».

  5. Explorez la base de données comme vous le feriez avec un compte non Google.

  6. Une fois les tests de sécurité terminés, supprimez la ligne de l'étape 2 de votre fichier DNS.

Télécharger l’outil