French flag Français
  • Français Français
  • English Anglais

BLOG - DETAILS

LES FAILLES DE SECURITE LES PLUS COURANTES SUR UN SITE WEB

LES FAILLES DE SECURITE LES PLUS COURANTES SUR UN SITE WEB

La sécurité des sites web est un enjeu majeur pour les entreprises et les développeurs. Les cyberattaques peuvent entraîner des fuites de données, des pertes financières et une atteinte à la réputation. Voici les failles de sécurité les plus courantes auxquelles les sites web sont confrontés, ainsi que des conseils pour les prévenir.

 

1. Injection SQL (SQL Injection)

Description :

Une injection SQL se produit lorsqu'un attaquant injecte du code malveillant dans une requête SQL via des champs de formulaire non sécurisés. Cela peut permettre d'accéder, modifier ou supprimer des données sensibles.

Exemple :

Si un site utilise une requête comme "SELECT * FROM users WHERE username = '" + userInput + "'", un attaquant peut entrer ' OR '1'='1 pour contourner l'authentification.

Solution :

Utiliser des requêtes paramétrées (Prepared Statements).

Valider et échapper les entrées utilisateur.

Limiter les privilèges de la base de données.

 

2. Cross-Site Scripting (XSS)

Description :

Le XSS permet à un attaquant d'injecter des scripts malveillants (JavaScript) dans des pages web consultées par d'autres utilisateurs. Ces scripts peuvent voler des cookies, rediriger vers des sites malveillants ou modifier le contenu.

Types de XSS :

XSS stocké (le script est enregistré en base de données).

XSS réfléchi (le script est inclus dans une URL).

XSS basé sur le DOM (exécuté côté client).

Solution :

Échapper les caractères spéciaux (<, >, &, etc.) avec htmlspecialchars() (PHP) ou des librairies comme DOMPurify.

Utiliser des en-têtes CSP (Content Security Policy).

 

3. Cross-Site Request Forgery (CSRF)

Description :

Une attaque CSRF force un utilisateur authentifié à exécuter des actions malveillantes à son insu (ex. : transfert d'argent, changement de mot de passe).

Implémenter des tokens CSRF uniques pour chaque session.

Utiliser SameSite pour les cookies.

Vérifier l'en-tête Referer ou Origin.

 

4. Mots de passe Faibles et Gestion des Authentifications

Description :

Des mots de passe faibles ou une mauvaise gestion des sessions permettent aux attaquants de deviner ou voler des identifiants.

Exemple :

Utilisation de mots de passe comme 123456 ou password.

Stockage en clair des mots de passe en base de données.

Solution :

Imposer des politiques de mots de passe forts (12 caractères, majuscules, chiffres, symboles).

Utiliser le hachage sécurisé (bcrypt, Argon2).

Mettre en place une authentification à deux facteurs (2FA).

 

5. Mauvaise Configuration de la Sécurité

Description :

Des erreurs de configuration (serveurs, bases de données, frameworks) peuvent exposer des données sensibles ou des fonctionnalités critiques.

Exemples :

Accès non restreint à /admin.

Fichiers .env ou backup.sql accessibles publiquement.

Serveur avec des versions obsolètes et vulnérables.

Solution :

Auditer régulièrement les configurations.

Désactiver les répertoires listing.

Mettre à jour les logiciels et appliquer les correctifs.

 

6. Insecure Direct Object References (IDOR)

Description :

Un attaquant manipule des paramètres d'URL ou des requêtes pour accéder à des ressources non autorisées (ex. : /profile?id=123 → /profile?id=124).

Solution :

Vérifier les permissions à chaque requête.

Utiliser des identifiants indirects (UUID au lieu d'IDs séquentiels).

 

7. Composants Vulnérables (Dépendances Obsolètes)

Description :

Les bibliothèques et frameworks utilisés peuvent contenir des vulnérabilités connues (ex. : Log4j, Heartbleed).

Solution :

Mettre à jour régulièrement les dépendances.

Utiliser des outils comme npm audit ou OWASP Dependency-Check.

 

Consulter les autres Articles >