Attaques

Attaques web

Les attaques web exploitent la manière dont une application reçoit, transforme, stocke et renvoie des données. Les failles apparaissent souvent aux frontières : navigateur, API, session, base de données, fichiers et droits.


Logique générale

Une application web traite constamment des entrées :

  • paramètres d'URL
  • formulaires
  • cookies
  • headers
  • fichiers
  • JSON envoyé à une API
  • identifiants de ressources

Chaque entrée doit être validée, chaque sortie doit être encodée, et chaque action sensible doit vérifier l'autorisation côté serveur.


Familles majeures

Injection

Une injection apparaît quand une donnée utilisateur devient une commande, une requête ou une expression interprétée.

Familles fréquentes :

  • SQL injection
  • NoSQL injection
  • LDAP injection
  • OS command injection
  • template injection

La défense repose sur les requêtes paramétrées, la validation, le moindre privilège et l'absence de concaténation dangereuse.

XSS

Le Cross-Site Scripting permet d'exécuter du JavaScript dans le navigateur d'une victime.

La défense combine :

  • encodage des sorties
  • validation des entrées
  • Content Security Policy
  • cookies HttpOnly, Secure et SameSite
  • séparation claire entre données et HTML

Contrôle d'accès défectueux

Un utilisateur accède à une ressource ou une action sans droit légitime.

Variantes :

  • IDOR
  • élévation horizontale
  • élévation verticale
  • routes d'administration mal protégées
  • contrôles uniquement côté client

SSRF

Le serveur est poussé à faire une requête vers une destination choisie par l'attaquant. Le risque est fort dans les environnements cloud et les réseaux internes.

Mauvaise configuration

Une configuration faible peut exposer :

  • pages d'administration
  • messages d'erreur
  • fichiers de sauvegarde
  • headers absents
  • debug en production
  • buckets ou répertoires publics

Lecture défensive

Pour analyser une application, demande-toi :

  • quelles données entrent
  • où elles sont validées
  • où elles sont stockées
  • où elles ressortent
  • quels droits sont vérifiés
  • quels logs existent
  • quelles erreurs sont visibles

Défense

Bonnes pratiques :

  • valider les entrées côté serveur
  • encoder les sorties selon le contexte
  • utiliser des requêtes paramétrées
  • centraliser l'autorisation
  • protéger les sessions
  • limiter les uploads
  • journaliser les actions sensibles
  • tester les chemins d'erreur
  • mettre à jour les dépendances

À retenir

La sécurité web repose sur une règle simple à dire mais difficile à tenir : ne jamais faire confiance à ce qui vient du client.

Précédent
Vulnérabilités réseau