Aller au contenu
SSRF · Server-Side Request Forgery

Une URL fournie.
Un serveur compromis.

Le serveur visite des URLs à votre place — y compris les adresses internes qu'aucun utilisateur ne devrait atteindre. Sans clic suspect, sans navigateur compromis : le backend se connecte à des ressources internes sur simple saisie d'URL.

portail.entreprise.local/api/preview
Portail interne — Prévisualisation URL
Serveur interne — traitement de l'URL
Analyse réseau

URL fournie par l'utilisateur

https://cdn.entreprise.com/logo.png
Une URL externe classique. Le serveur effectue la requête depuis son propre réseau.
Étape 1 sur 4

Un champ URL accepte une cible externe

Le serveur charge l'adresse fournie par l'utilisateur comme une ressource de confiance.

Flux de l'attaque

🕵️

Attaquant

envoie l'URL

🖥️

Serveur web

fait la requête

🔒

Réseau interne

service protégé

💀

Données volées

retournées à l'attaquant

Un champ d'URL est une backdoor secrète

Import de logo, prévisualisation de liens, conversion de documents... Chaque URL fournie peut amener le serveur à se connecter à un service externe ou interne si elle n'est pas vérifiée.

Chiffres clés

A10

OWASP Top 10 · 2021

Server-Side Request Forgery

0

Clic requis

pour SSRF backend

169.254.169.254

Hôte cloud

accès aux métadonnées

~0,0 M€

Coût moyen

d'une fuite cloud

Démo technique

Testez par vous-même

Simulez un SSRF en entrant une URL. Observez comment le serveur peut atteindre un service interne ou un point de métadonnées cloud si l'URL n'est pas validée.

Simulation SSRF

Entrez une URL malveillante

Cette démonstration montre comment un serveur vulnérable suit une URL fournie par l'attaquant et atteint des ressources internes invisibles au navigateur.

Aucun trafic réel n'est généré.
Requête sortante du serveur
Cliquez sur "Simuler la requête"…
En attente d'une requête

Aucune requête simulée pour l'instant…

Protection recommandée

  • Valider et normaliser chaque URL reçue côté serveur.
  • Refuser les hôtes internes, localhost et les plages 169.254.x.x.
  • Utiliser une liste blanche d'URLs externes autorisées.

Flux réseau simulé

Attaquant

URL malveillante

Serveur vulnérable

backend

Service interne

non atteint