SQL Injection Réalisée par: BEN NASR Houssem GMATI Idriss HADDAD Mohamed Aymen HAKIM Youssef
PLAN Injecter Diapo Par Diapo
OPEN WEB APPLICATION SECURITY PROJECT (OWASP) Organisation mondiale Non lucrative Sécurité des logiciels
OPEN WEB APPLICATION SECURITY PROJECT (OWASP) ? OWASP INJECTION SQL Risque de sécurité des application 1.Injection (SQL / OS /LDAP) 2.Cross Site Scripting (XSS) 3.Break authentification & session management
SQL Structured Query Language Langage normalisé par ANSI (American National Standard INSTITUTE) Opération sur Base de Donnée
SQL Manipulation de donnée –Recherche / Ajout / Modification / Supression Définition de donnée –Création / Modification / Organisation
SQL Contrôle de transaction –Commencer / Terminer une transaction Contrôle de donnée –Autoriser / Interdire Accès
SQL INJECTION Injection ? –Insertion dun code malveillant Où ? –Chaine transmise à un serveur SQL
SQL INJECTION Insertion de code directe
SQL INJECTION Insertion moins directe –Concaténation de la commande (le code nuisible) –Chaine destiné à être stocker
SQL INJECTION Injection code malveillant ? –Terminer une chaine de texte –Ajout de nouvelles commandes –Ignorer du code
TYPES SQL INJECTION Injection SQL classique
EXEMPLE 1.Var ShipCity; 2.ShipCity = Request.from(" ShipCity ") 3.Var SQL = "select * from OrderTable where ShipCity = ' " +ShipCity+ " ' " Taper « Redmond » select * from OrderTable where ShipCity = ' Redmond '
EXEMPLE Taper " Redmond' ; drop table OrderTable;-- " select * from OrderTable where ShipCity = ' Redmond ' ; drop table OrderTable ;--
SOLUTION Filtrer les requêtes: –GET –POST –COOKIE
TYPES SQL INJECTION Injection SQL classique Injection SQL avancée Confiance aux variables denvironnement Confiance aux entêtes HTTP
TYPES SQL INJECTION Injection SQL classique Injection SQL avancée Blind SQL Injection
TYPES SQL INJECTION Blind SQL Injection –Vecteur dattaqueinjection classique –Absence de message derreurs –Série de test à laveuglette identifier la présence de failles
CONSEQUENCES Bypasser une authentification Lecture de données sensibles Lecture / Ecriture fichiers systèmes Exécution du code PHP
CONCLUSION Suivre une méthodologie de codage Trouver les failles Get the CASH ;)