Injection SQL : Définition, dommages & Défense

Découvrez comment l’authentification multifacteur (MFA) adaptative combat les brèches de données, la compromission des mots de passe faibles et les attaques de phishing.

Mis à jour: 07 novembre 2024 Temps de lecture: ~

 

Cet article a été traduit automatiquement.

 

Une injection SQL est un formulaire d'attaque. Un site hacker s'interpose entre ce qui devrait être une conversation privée entre un terminal (comme un ordinateur) et un centre de stockage de données (comme un serveur).

Une fois que la personne hacker y a pénétré, elle peut regarder, modifier ou supprimer presque tout ce qu'elle veut. Et les résultats pourraient être catastrophiques.

Qu'est-ce qu'une injection SQL ?

Tout site web repose sur du code. Les blogueurs nous disent que le codage deviendra un jour une compétence obligatoire. Tout le monde devra faire de l'informatique pour survivre dans la société moderne. Mais à l'heure actuelle, les personnes qui savent coder utilisent ces compétences pour manipuler une partie fondamentale de la gestion d'un site web. 

La plupart des sites web modernes fonctionnent avec des bases de donnéesy compris celles qui :

  • Vendre des produits. 
  • Autoriser la connexion. 
  • Publier un blog.

Un tel site repose sur le langage de requête structuré (SQL). Les programmeurs utilisent ce langage pour aider le site à gérer et à fournir des données. Chaque fois qu'une personne interagit avec un site comme celui-ci, ses demandes et ses commandes sont transmises au site via SQL. Un hacker, lors d'une attaque par injection SQL, détourne ce langage à des fins nouvelles. 

Un site hacker pourrait manipuler presque n'importe quelle commande SQL, mais les cibles les plus courantes sont les suivantes :

  • OÙ, lorsque vous recherchez l'emplacement des données que vous souhaitez Sélectionner
  • UPDATE, où vous demandez une actualisation des données 
  • INSERT, qui permet d'introduire de nouvelles données 
  • Sélectionner, lorsque vous identifiez un type de données par leur nom ou que vous commandez des données

Un site hacker peut utiliser l'injection SQL pour

  • Chasse. Un site hacker qui modifie les données SQL pourrait trouver quelque chose que vous aimeriez garder caché. 
  • Accès. Un hacker pourrait modifier la logique de votre site ou récupérer des données dans votre base de données. Cela pourrait permettre à quelqu'un de voir tous les noms d'utilisateur et tbdce qui pourrait permettre une entrée non autorisée. 
  • Plan. Un site hacker pourrait examiner la façon dont votre base de données est programmée et l'endroit où elle est stockée. Ces recherches pourraient être utilisées lors de la prochaine attaque.

Il existe deux types principaux d'injection SQL, qui sont.

  • Première commande. Une application offre la possibilité de fournir des données. L'utilisateur saisit un code que le système traite de manière dangereuse. 
  • Deuxième ordre. L'application reçoit des données et les stocke pour plus tard (par exemple en les plaçant dans une base de données). Lorsque l'application reçoit une autre demande, ces données étranges sont récupérées et incorporées de manière peu sûre.

Un exemple d'injection SQL

Passons en revue un seul type d'attaque SQL afin que vous puissiez voir comment les technologies de l'information se déroulent. Les développeurs peuvent partager des lignes de code, ce qui vous permet de voir comment l'informatique s'exécute en temps réel. Mais nous nous en tiendrons à une définition de haut niveau pour tous nos lecteurs. 

Dans cet exemple, une personne connue de votre base de données s'appelle Johnson.

Une personne hacker visite votre site web, et cette personne est encouragée à log. 

La personne ne saisit pas le mot "Johnson" dans le champ. Au lieu de cela, la personne saisit une chaîne de code, telle que "OR 1 égale 1."

Votre système l'interprète comme une commande, et le service informatique recherche la solution dans toute la base de données. Si le site hacker a écrit un code suffisamment puissant, le serveur pourrait même être incité à cracher le Sommaire de tout ce qui se trouve dans vos tableaux de données. 

Le site web Gab a fait l'objet d'une a fait l'objet d'une attaque comme celle-ciLe site Gab a été victime d'une attaque similaire à celle-ci et le pirate a eu accès à tous ces documents :

  • Postes publics 
  • Postes privés, par paire 
  • Postes du groupe 
  • Informations sur le profil 
  • noms d'utilisateurs 
  • à confirmer 

Toute personne sur Gab qui utilisait une combinaison similaire de nom d'utilisateur et de mot de passe sur un autre site s'exposait à des risques encore plus grands. pirate aurait pu essayer ces identifiants sur d'autres sites et obtenir un accès encore plus profond à leur vie en ligne. 

Pouvez-vous prévenir une attaque par injection SQL ?

Il est rapide et efficace de gérer un site web via des bases de données. Vous n'avez pas besoin d'un serveur robuste pour gérer toutes vos pages, et le Sommaire peut être modifié par simple pression d'un bouton. Mais vous devez veiller à protéger un site construit avec cette technologie. 

Détectez votre vulnérabilité aux attaques par injection SQL en soumettant votre propre codage SQL. Recherchez des réponses inhabituelles qui indiquent que votre serveur interprète ces éléments comme des commandes. 

Envisagez ensuite d'élaborer un d'un ensemble de caractères et de commandes autorisés. Ne laissez pas les gens taper n'importe quoi dans vos champs. Limitez ce qu'ils peuvent enregistrer à des termes dont vous savez qu'ils ne peuvent pas être considérés comme du code.  

Références

Coder en 2016, c'est comme lire en 1816. (octobre 2016). Prenda. 

5 points importants concernant les sites web basés sur des bases de données. (juin 2016). Business 2 Community. 

Sites web basés sur des bases de données. (octobre 2003). Journal of the Medical Library Association. 

La plateforme d'extrême droite Gab confirme que son système informatique a été piraté. (mars 2021). Sécurité.

Aide-mémoire pour la prévention des injections SQL. OWASP.

Continuez votre parcours dans l‘univers de l’identité