Accueil Sécurité Qu'est-ce qu'une injection sql? - définition de techopedia

Qu'est-ce qu'une injection sql? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie injection SQL?

Une injection SQL est une attaque informatique dans laquelle du code malveillant est intégré dans une application mal conçue, puis transmis à la base de données principale. Les données malveillantes produisent alors des résultats de requête de base de données ou des actions qui n'auraient jamais dû être exécutées.

Techopedia explique l'injection SQL

Passons en revue un exemple d'attaque par injection SQL:


Une application exécutant les opérations d'une banque contient des menus qui peuvent être utilisés pour rechercher les détails du client à l'aide de points de données tels que le numéro de sécurité sociale du client. En arrière-plan, l'application appelle une requête SQL qui s'exécute dans la base de données en transmettant les valeurs de recherche entrées comme suit:


SELECT client_name, telephone, address, date_of_birth WHERE social_sec_no = 23425


Dans cet exemple de script, l'utilisateur entre la valeur 23425 dans la fenêtre du menu de l'application, lui demandant d'entrer le numéro de sécurité sociale. Ensuite, en utilisant la valeur fournie par l'utilisateur, une requête SQL s'exécute dans la base de données.


Un utilisateur connaissant SQL peut comprendre l'application et, au lieu de saisir une seule valeur lorsqu'on lui demande le numéro de sécurité sociale, entrez la chaîne «23425 ou 1 = 1», qui est transmise à la base de données comme suit:


SELECT client_name, telephone, address, date_of_birth WHERE social_sec_no = 23425 or 1 = 1


La clause WHERE est importante car elle introduit une vulnérabilité. Dans une base de données, la condition 1 = 1 est toujours vraie, et comme la requête a été spécifiée pour renvoyer les détails du numéro de sécurité sociale du client (23425) ou WHERE 1 = 1, la requête renvoie toutes les lignes de la table, ce qui n'était pas le intention initiale.


L'exemple d'attaque par injection SQL ci-dessus est simple, mais il montre comment exploiter une vulnérabilité pour inciter l'application à exécuter une requête ou une commande de base de données principale.


Les attaques par injection SQL peuvent être atténuées en garantissant une conception d'application appropriée, en particulier dans les modules qui nécessitent une entrée utilisateur pour exécuter des requêtes ou des commandes de base de données. Dans l'exemple ci-dessus, l'application peut être modifiée afin qu'elle n'accepte qu'une seule valeur numérique.

Qu'est-ce qu'une injection sql? - définition de techopedia