🌩️Firebase/Appspot misconfig
Description
Les bases de données Firebase Realtime sont des bases de données NoSQL hébergée dans le cloud qui permettent de stocker et de synchroniser les données entre des utilisateurs en temps réel.
Certains endpoints Firebase peuvent être trouvés dans les applications mobiles. Il est possible que l'endpoint Firebase utilisé soit mal configuré, accordant à tout le monde les privilèges de lecture (et d'écriture) dessus.
Reconnaissance
Décompiler le fichier .apk
Rechercher une URL du type https://project-id.firebasio.com ou https://project-id.appspot.com dans le fichier
res/values/strings.xml
Exploitation
Si une url firebase est trouvée de cette manière, rendez vous à l'URL et y ajouter un .json pour vérifier si on a les droits de lecture. (https://project-id.firebaseio.com/.json ou https://project-id.appspot.com/.json)
S'il est possible de lire la base de données, alors vérifier si on a les droits d'écriture avec.
Attention: Que la racine soit protégé ne veut pas forcément dire que les autres répértoires le sont également !
Outils
FireBaseScanner
FireBaseScanner est un outil permettant de scanner des bases de données Firebase à la recherche de problèmes de configuration.
Exemple d'utilisation:
$ python FireBaseScanner.py -p /path/to/target.apk
ressource: https://github.com/shivsahni/FireBaseScanner
Insecure Firebase Exploit
Un simple exploit Python pour écrire des données dans des bases de données Firebase non sécurisées/vulnérables ! Communément trouvé dans les applications mobiles. Si le propriétaire de l'application a défini les règles de sécurité comme vraies pour la "lecture" et "l'écriture", un attaquant peut probablement vider la base de données et écrire ses propres données dans firebase db.
ressource: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
Dernière mise à jour