560 likes | 1.03k Views
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.
E N D
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 • Injection (SQL / OS /LDAP) • Cross Site Scripting (XSS) • Break authentification & session management
SQL • StructuredQueryLanguage • 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 d’un 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 • Var ShipCity; • ShipCity = Request.from(" ShipCity ") • Var SQL = "select * fromOrderTablewhereShipCity = ' " +ShipCity+ " ' " • Taper « Redmond » select * fromOrderTablewhereShipCity = ' Redmond '
EXEMPLE • Taper " Redmond' ; drop table OrderTable;-- " select * fromOrderTablewhereShipCity = ' 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 d’environnement • 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 d’attaque injection classique • Absence de message d’erreurs • Série de test à l’aveuglette 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 ;)