Vous êtes ici
Accueil > Technologies Web > Sécuriser et protéger son site web contre les attaques par injection SQL

Sécuriser et protéger son site web contre les attaques par injection SQL

Attaque par déni de service (DDos), attaque d’URL sémantique, Injection SQL …

Il y a une véritable augmentation du nombre d’attaques informatiques visant des sites web.

Aujourd’hui on va vous montrer comment se protéger et éviter les attaques par injection SQL (Structured Query Langage).

Qu’est-ce que une injection SQL ?

Une injection SQL est une insertion de code SQL via des données transmises depuis un site web.

Une injection réussie, permet malheureusement de récupérer des informations d’une base de données ou de modifier, supprimer, ajouter des données. ou de prendre totalement la main sur cette base de données.

Une injection SQL est une technique de piratage exploitant les erreurs de programmation au niveau des scripts PHP avec une base de données SQL. Mais d’autres langages aussi peuvent être victime à ce type d’attaque comme ASP.

Il s’agit de la vulnérabilité la plus courante sur le Web.

Exemple d’attaque par injection SQL

Sur votre site web, vous disposez d’un formulaire de connexion pour que vos clients puissent accéder a leur espace compte.

formulaire-injection-sql

Pour vérifier les données saisies par l’internaute, la requête SQL sans aucune protection aura la forme suivante :

requete-sql-injection

Une injection SQL basique consiste à «court-circuiter» les conditions de la requête en injectant une condition toujours vraie dans la requête.

Exemple d’injection SQL via le formulaire de connexion:

saisie-formulaire-injection-sql

Suite à l’action de formulaire votre requête sera :

sql-injection-exemple-avec-donnee-saisie

Suite à l’exécution de cette requête au niveau PHP le hacker sera connecté à l’espace membre de votre site, éventuellement il pourra afficher le contenu de la table utilisateur (users), ce qui lui permettra par la suite de se connecter avec des vrais paramètre de connexion.

Les bonnes pratiques pour protéger son site web d’une attaque par injection SQL

Soyez vigilant

Votre seule préoccupation sera la sécurité de votre site web, ne faites jamais confiance aux données saisies par les internautes.

Chaque formulaire de connexion, formulaire de recherche, formulaire d’inscription, paramètres d’URL (pour la pagination, identifient d’article de produit…) sont les porte d’entrée des hackers pour effectuer les attaques par injection SQL.

S’assurer que tous les variables sont vérifiés

Toutes les variables saisies par l’internaute ou les paramètres d’URL qui seront utilisés dans une requête SQL doivent être vérifiées.

Utilisez des requêtes préparées

Avec PHP, on a la possibilité d’utiliser des librairies qui vont préparer  vos requêtes avant leur exécution.  La préparation des requêtes consiste à la validation des données et de l’échappement des caractères spéciaux qui peuvent compromettre la requête.

Masquez les messages d’erreurs

Les messages d’erreurs peuvent donner des indications aux hackers sur votre base de données (Nom de la base, nom de table, etc.). Il est important de protéger ces informations, donc il est conseillé de masquer l’affichage des messages d’erreurs sur votre site.

Intervention au niveau de la base de données

Il ne faut pas que votre site web se connecte avec les droits ROOT au serveur de base de données, dans le cas contraire un hacker pourrait prendre la main sur votre serveur de base de données.

Donc vous êtes invité a créer des utilisateurs spécifique pour vos base de données.

LAGILI Firas
Ingénieur en génie informatique ayant plus de 5 ans d’expérience en développement Web. des atouts que je n'hésite pas à déployer pour satisfaire mes clients. J’aime les challenges, j’ai un sens d’initiative et je suis ouvert d’esprit.
http://webshopdev.com/

Laisser un commentaire

Top