Marketing

Comment prévenir une attaque par injection SQL ?

 

Utilisez des déclarations préparées avec des requêtes paramétrées

Cette méthode d’assainissement des entrées de la base de données oblige les développeurs à définir d’abord tout le code SQL, puis à ne passer que des paramètres spécifiques à la requête SQL : les données saisies ont explicitement une portée limitée qu’elles ne peuvent pas dépasser. Cela permet à la base de données de faire la distinction entre les données qui sont saisies et le code qui doit être exécuté, quel que soit le type de données fournies dans le champ de saisie. Certaines bibliothèques de mappage objet-relationnel sont couramment utilisées à cette fin car certaines versions nettoient automatiquement les entrées de la base de données.

Échappez à toutes les entrées fournies par l’utilisateur

Lors de l’écriture du langage SQL, certains caractères ou mots ont une signification particulière. Par exemple, le caractère « * » signifie « tout ». Pour éviter que les utilisateurs ne saisissent ces caractères par accident ou par malveillance dans une demande d’API adressée à la base de données, les données fournies par l’utilisateur peuvent être échappées. L’échappement d’un caractère est un moyen d’indiquer à la base de données de ne pas l’analyser comme une commande ou une condition mais de le traiter comme une entrée littérale.

Utilisez des procédures stockées

Bien qu’il ne s’agisse pas d’une stratégie de sécurité solide en soi, les procédures stockées peuvent contribuer à limiter le risque associé à l’injection SQL. En limitant correctement les autorisations du compte de la base de données qui exécute les requêtes SQL, même le code d’application non robuste qui est vulnérable à l’injection SQL n’aura pas les autorisations nécessaires pour manipuler des tables de base de données non liées. Les procédures stockées peuvent également vérifier le type des paramètres d’entrée, empêchant ainsi la saisie de données qui ne correspondent pas au type que le champ est censé recevoir. Dans les cas où les requêtes statiques sont insuffisantes, les procédures stockées sont généralement à éviter.

Appliquez le principe du moindre privilège

En règle générale, dans tous les cas où un site Web doit utiliser du SQL dynamique, il est important de réduire l’exposition à l’injection SQL en limitant les autorisations à la portée la plus étroite possible pour exécuter la requête concernée. Dans sa forme la plus évidente, cela signifie qu’un compte administratif ne devrait en aucun cas exécuter des commandes SQL à la suite d’un appel API provenant d’une requête non autorisée. Si les procédures stockées sont mieux utilisées pour les requêtes statiques, l’application du principe du moindre privilège peut contribuer à réduire les risques des requêtes SQL dynamiques.

Au-delà de toutes ces recommandations, vous pouvez utiliser des outils pour vous protéger. Souvent développés par des sociétés spécialisées comme Cloud Protector, ces outils vous seront très utiles pour déceler les attaques avant qu’elles ne vous impactent. Pour découvrir un aperçu de ces outils, vous pouvez naviguer sur le net ou bien vous rendre sur les pages dédiées des entreprises professionnelles du secteur.

Maxime Richard

Redacteur web et entrepreneur dans le milieu du marketing digital depuis plus de 5 ans.

Recent Posts

Séminaire d’entreprise mémorable : comment organiser votre programme ?

L’expérience en milieu professionnel demande de l’effort et des ressources mentales. En proie aux effets…

1 semaine ago

Trouver une Résidence Senior à Béthune : Bien-être et Santé au Cœur des Préoccupations

À mesure que l’âge avance, il devient essentiel de trouver un logement adapté aux besoins…

1 semaine ago

Charge Rapide vs Charge Standard : Vaut-il la Peine de Passer à un Chargeur Type C ?

Charge Rapide vs Charge Standard : Vaut-il la Peine de Passer à un Chargeur Type…

1 semaine ago

L’importance de la météo pour une visite à Disneyland Paris

Disneyland Paris est une destination magique qui attire des millions de visiteurs chaque année. Cependant,…

2 semaines ago

Quand et pourquoi remplacer la batterie de votre iPhone 14

Vous avez un iPhone 14 et commencez à remarquer des diminutions significatives de l'autonomie ?…

3 semaines ago

Plateforme Logistique : Optimisez Votre Gestion des Stocks avec Stock Booking

La logistique joue un rôle crucial dans la compétitivité des entreprises modernes. Avec la croissance…

3 semaines ago