Qu'est-ce qu'une injection SQL?
Une injection SQL (Structured Query Language) est un type d’attaque presque toujours utilisé contre un site Web géré par une base de données. Il s’agit d’insérer un code malveillant dans les requêtes SQL du site afin d’interférer avec la gestion des données en détruisant, altérant ou révélant les données stockées dans les tables de la base de données qui pilote le site. SQL est un langage de programmation standard utilisé pour créer, mettre à jour et récupérer des données stockées dans des bases de données.
Les dangers des attaques par injection SQL sont nombreux et souvent très dévastateurs quand ils sont menés à bien. Des informations sensibles telles que les numéros de carte de crédit, les dossiers médicaux, les noms d'utilisateur et les mots de passe de comptes tels que les services bancaires en ligne et les adresses de messagerie, ainsi que divers types de numéros d'identification peuvent être exposés à des cybercriminels. Bien que le vol de données soit probablement le principal objectif de quiconque tente d'utiliser l'injection SQL, ce n'est pas la seule motivation qui justifie l'utilisation de cette technique ou de toute autre technique d'injection de code, telle que le script intersite. Les visiteurs d'un site Web affichant des informations qu'ils n'aiment pas peuvent tenter des attaques par injection SQL pour désactiver le site, voler des données ou les modifier afin de détruire la mission des personnes se trouvant derrière le site.
Parfois, une attaque par injection SQL est tentée contre un site Web par un visiteur mécontent dont le compte a peut-être été banni par les propriétaires du site, qui envie la popularité du site ou qui cherche à détruire les activités en ligne d'une personne à laquelle il / elle pense être un ennemi. La connaissance de SQL est évidemment nécessaire pour lancer une attaque par injection SQL, mais il n’est généralement pas considéré comme un langage très difficile à apprendre, comparé à d’autres langages de programmation, et beaucoup peut être accompli avec une compréhension de base, mais solide, de son utilisation. il. Cela signifie qu’un bon nombre de personnes qui surfent sur Internet possèdent les compétences nécessaires pour tenter une injection SQL sur un site Web.
Les développeurs Web, en particulier ceux qui se spécialisent dans le développement Web back-end, sont responsables de la sécurité des sites qu'ils programment contre l'injection SQL. Il existe presque toujours plus d'un moyen d'atteindre une sécurité aussi importante, et la plupart de ces méthodes sont considérées comme des solutions simples mais très efficaces. Par exemple, un développeur peut utiliser la fonction mysql_real_escape_string () ou des instructions préparées lors de la création de scripts dans le langage de préprocesseur hypertexte (PHP). Les méthodes choisies pour se prémunir contre les attaques doivent être soigneusement examinées, car les performances du site dans son ensemble ne peuvent être ignorées, même lors de la mise en place d'une sécurité.