Skip to Content
SécuritéPartie 8 — CSRF, SSRF & CORSVue d'ensemble

Partie 8 — CSRF, SSRF & CORS

⏱️ TL;DR — Cette partie regroupe les attaques qui détournent des requêtes. Le CSRF force le navigateur d’une victime authentifiée à envoyer une requête à son insu (exploitant l’envoi automatique des cookies — Partie 2) : parade par jetons anti-CSRF + SameSite + vérification de l’Origin. Le SSRF force le serveur à requêter une URL choisie par l’attaquant (services internes, métadonnées cloud 169.254.169.254) : parade par allow-list stricte des destinations. Le clickjacking piège l’utilisateur via une iframe invisible (parade : frame-ancestors). L’open redirect abuse une redirection non validée. Enfin, CORS — souvent mal compris — est un assouplissement de la Same-Origin Policy à configurer avec soin (jamais * + credentials).

Le problème qu’on résout

Après les injections (le serveur exécute une entrée) et le XSS (le navigateur exécute une entrée), voici la troisième grande famille : les attaques qui n’injectent pas de code mais abusent la confiance entre les parties. Le CSRF abuse la confiance du serveur envers le navigateur de la victime ; le SSRF abuse la confiance du réseau interne envers le serveur ; le clickjacking abuse la confiance de l’utilisateur envers ce qu’il voit ; une mauvaise config CORS abuse la confiance d’une origine envers une autre.

Ces attaques sont particulièrement traîtres car chaque requête, prise isolément, paraît légitime — c’est le contexte (qui l’a déclenchée, vers où, à l’insu de qui) qui la rend malveillante. Cette partie t’apprend à vérifier ce contexte.

Ce que tu sauras faire à la fin de cette partie

  • Comprendre le CSRF (mécanisme via cookies auto-envoyés) et le fermer (jetons, SameSite, Origin).
  • Comprendre le SSRF et son danger cloud (métadonnées), et le contrer par allow-list de destinations.
  • Empêcher le clickjacking (frame-ancestors/X-Frame-Options) et l’open redirect (valider les cibles).
  • Configurer CORS correctement, sans ouvrir de brèche (* + credentials interdit).

Les chapitres

#ChapitreEn un mot
8.1CSRF & défensesRequête forcée au nom de la victime ; jetons, SameSite, Origin.
8.2SSRF côté serveurLe serveur requête pour l’attaquant ; métadonnées cloud, allow-list.
8.3Clickjacking & open redirectIframe piège, redirection détournée.
8.4CORS bien configuréAssouplir la SOP sans se percer ; erreurs classiques.

Ces attaques closent le tour des grandes familles génériques. On applique ensuite tout le cours à ton stack concret : la Partie 9 — Sécurité PHP & Symfony.


On commence par l’attaque qui abuse tes cookies : CSRF & défenses.

Last updated on