• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • L'injection SQL est l'une des techniques d'attaque les plus répandues, mais ce n'est pas seulement en SQL (base de données relationnelle) mais aussi en NoSQL (non-SQL ou également appelée base de données non relationnelle).

    Savez-vous qu'il y a plus de 100 bases de données NoSQL sont disponibles aujourd'hui?

    Merci à la communauté open-source.

    Lequel avez-vous entendu parler?

    MongoDB et Redis, probablement ! Oui, ils sont très populaires.

    NoSQL n'est pas une nouveauté ; il a été introduit pour la première fois en 1998 par Carlo Strozzi. Mais dernièrement, il a gagné en popularité grâce à son utilisation dans les applications modernes. Et pourquoi pas. Il est rapide et résout certains des problèmes de bases de données relationnelles traditionnelles. Il existe des différences entre SQL et NoSQL.

    Si vous utilisez une base de données NoSQL telle que MongoDB et que vous ne savez pas si elles sont bonnes pour la production, n'exposez pas les vulnérabilités, les erreurs de configuration, etc. Les outils suivants peuvent vous aider à trouver.

    NoSQLMap

    NoSQLMap est un petit utilitaire open source basé sur Python, capable d'auditer pour trouver une mauvaise configuration et automatiser les attaques par injection. Il prend en charge les bases de données suivantes pour le moment.

    • MongoDB
    • CouchDB
    • Redis
    • Cassandra

    Pour installer NoSQLMap, vous avez besoin de Git, Pythonet le module Setuptools, que vous pouvez installer ci-dessous sur Ubuntu.

    apt-get install python
    apt-get install python-setuptools

    Une fois Python installé, procédez comme suit pour installer NoSQLMAP.

    git clone https://github.com/codingo/NoSQLMap.git
    python setup.py install

    Une fois terminé, vous pouvez exécuter ./nosqlmap.py à partir du répertoire cloné GIT, qui apparaîtra comme ci-dessous.

    _  _     ___  ___  _    __  __           
    | \| |___/ __|/ _ \| |  |  \/  |__ _ _ __ 
    | .` / _ \__ \ (_) | |__| |\/| / _` | '_ \
    |_|\_\___/___/\__\_\____|_|  |_\__,_| .__/
     v0.7 [email protected]        |_|   
    
    
    1-Set options
    2-NoSQL DB Access Attacks
    3-NoSQL Web App attacks
    4-Scan for Anonymous MongoDB Access
    5-Change Platform (Current: MongoDB)
    x-Exit
    Select an option:

    Vous devez définir la cible en allant à l'option 1 avant de tester. Consultez le didacticiel de démonstration ci-dessous.

    Mongoaudit

    Comme vous pouvez le deviner par son nom, il est spécifique à MongoDB. Mongoaudit est bon pour effectuer un pentest pour trouver un bogue, une mauvaise configuration et des risques potentiels. Il vérifie par rapport à de nombreuses meilleures pratiques, y compris les suivantes.

    • Si MongoDB s'exécute sur le port par défaut et que l'interface HTTP est activée
    • Si sécurisé avec TLS, authentification
    • Méthode d'authentification
    • Opérations CRUD

    L'installation de Mongoaudit est facile. Vous pouvez utiliser le pip commander.

    pip install mongoaudit

    Une fois installé, exécutez mongoaudit commande pour exécuter l'analyse. Vous serez invité à sélectionner le niveau d'analyse et à entrer les détails de l'écouteur MongoDB.

    Quel que soit l'outil que vous utilisez pour exécuter une analyse de sécurité des bases de données NoSQL, n'oubliez pas d'en être responsable. Vous devez vous assurer que vous utilisez votre propre instance de base de données ou que vous êtes autorisé à exécuter le test. Si vous travaillez souvent sur NoSQL, vous voudrez peut-être explorer ces CLIENTS pour gérer une meilleure productivité.

    Et regarde ça article pour trouver une vulnérabilité d'injection SQL dans une base de données relationnelle.