Didacticiel

Tutoriel Sqlmap – Test de penetration avec injection sql

Didacticiel à vacation éducationnel

Sqlmap est un outils d’automatisation d’injection vous permettant d’automatise le processus de détection et d’exploitation des failles d’injection SQL, dans vos applications WEB, et de prise en charge des serveurs de bases de données. Avec une url (requête http vulnérable), sqlmap peut exploiter la base de données distante et extraire des noms de bases de données, des tables, des colonnes, les données dans les tables, etc. Sqlmap est devenu maintenant un outils indispensable dans la trousse d’un Pentester.

L’outil a été developpé en Python, ce qui veut dire qu’il peut-être exécute sur n’importe quelle OS ou python (Par défaut installé sur Ubuntu) est installé.

Dans ce didacticiel, nous allons apprendre à utiliser sqlmap pour exploiter une application Web vulnérable et voir ce qui peut être fait avec un tel outil.

Utilisation

L’utilisation de Sqlmap peut se faire soit :

  • URL Vulnérable(le cas de ce didicaticiel)
  • Google dork

URLs Vulnérable

Supposant qu’une application Web a l’url suivante :

http://www.site.com/our-products-detail.php?id=7

Cette URL pourra être vulnérable a une injection SQL si le développeur de l’application n’a pas correctement échappé l’id du paramètre. Cela peut être testé en essayant d’ouvrir l’URL suivante :

http://www.site.com/our-products-detail.php?id=7

Notez qu’ici on a juste ajouté une simple cote. Si cette nouvelle requête lance une erreur ou réagit d’une manière inattendue, alors il est clair que le développeur n’a pas échappé la valeur du paramètre. Donc, le paramètre id ici est vulnérable à l’injection Sql

1. Tester l’injection avec Sqlmap

Les commandes sqlmap sont exécutées à partir du terminal avec l’interpréteur python.

Cette commande est la première et la plus simple des commandes à exécuter sur sqlmap. Elle permet de vérifier le paramètre et détermine s’il est vulnérable à une injection Sql. Pour cela sqlmap envoie différents types de requêtes d’injections Sql au paramètre d’entree (id) et vérifie la sortie

python sqlmap.py -u « http://www.site.com/our-products-detail.php?id=7 »

L’outil sqlmap a donc découvert  la base de données ainsi que les informations de version

2. Découvrir les bases de données

Une fois que sqlmap confirme que l’url distante est vulnérable à l’injection sql et est exploitable, l’étape suivante consiste à trouver les bases de données qui existent sur le système distant. Pour cela on utilisera le paramètre –dbs

python sqlmap.py -u « http://www.site.com/our-products-detail.php?id=7 » –dbs

Le résultat montre les bases de données existantes sur le système distant.

3. Découvrir les tables dans une base de données particulière

Une fois les basent de données détectées, il est temps de savoir quelles tables existent dans une base de données particulière. Disons que la base de données d’intérêt ici est ‘u72………

python sqlmap.py -u « http://www.site.com/our-products-detail.php?id=7 » –tables -D nom_base_donnees_cible

4. Découvrir les colonnes d’une table particulière

Une fois qu’on a la liste des tables de la base de données détectées, il est temps de savoir les colonnes d’une tables  particulière. Supposant qu’on cible la table ‘admin_blog

python sqlmap.py -u « http://www.site.com/our-products-detail.php?id=7 » –columns -D nom_base_donnees_cible -T nom_table

5. Obtenir des données d’une table

Une fois qu’on a pu avoir les colonnes d’une table, on va maintenant chercher les données qui y sont insérées

python sqlmap.py -u « http://www.site.com/our-products-detail.php?id=7 » –dump -D nom_base_donnees_cible -T nom_table

Si vous tentez de récupérer les données d’une table qui stockent des données utilisateurs (Login, mot de passe). Sqlmap dispose des outils lui permettant de craquer les mots de passe pour vous, a travers un dictionnaire des données que vous pouvez lui fournir ou utiliser celui par défaut.

FINALEMENT : Un outil qui utilise Google Dorks

Pour aller plus loin, vous pouvez utiliser le logiciel dorkme ou le script shell Fast-Google-Dorks-Scan sur votre propre site web pour voir s’il est vulnérable aux injection SQL.

Avertissement

L’utilisation de ce programme ne peut se faire que dans le cadre légal  basé sur le consentement mutuel. Il est de la responsabilité de l’utilisateur final de ne pas utiliser ce programme dans un autre cadre. Je n’assume aucune responsabilité et n’est pas responsable de toute mauvaise utilisation ou de tout dommage causé par ce programme.
Afficher plus

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page