Server-side request forgery (SSRF)
Une attaque SSRF pousse une application à envoyer des requêtes réseau non souhaitées depuis son serveur. Les destinations réellement atteintes sont déterminantes.
La server-side request forgery, ou SSRF, consiste à détourner une application pour faire envoyer par son serveur des requêtes vers des destinations non prévues. Le serveur peut disposer d’un accès réseau différent de celui de la personne qui fournit une entrée. Des services internes inaccessibles directement de l’extérieur peuvent ainsi être atteints.
Un aperçu de document avec une destination externe
Un portail de projet fictif récupère un document à l’adresse du champ previewTarget pour en afficher un aperçu. Si cette adresse est utilisée sans contrôle adapté, l’aperçu peut servir d’intermédiaire à des accès non souhaités. Le problème vient ici de la récupération par le serveur, avant l’affichage du document. Ces appels peuvent avoir des effets indésirables même si le contenu de la réponse n’est pas renvoyé.
Dans cette version du portail, l’aperçu est réservé à des sources documentaires connues. L’application peut donc fixer les sources permises au lieu d’accepter n’importe quelle destination. Cette restriction convient seulement si la fonction peut effectivement être limitée à des sources connues.
Relier contrôle de destination et frontière réseau
MDN et OWASP décrivent une protection aux niveaux applicatif et réseau. Vérifier seulement le nom d’hôte saisi ne suffit pas : les adresses résolues et la connexion réellement établie doivent aussi respecter la règle des destinations autorisées. Les redirections peuvent modifier la destination et ne doivent pas contourner le contrôle.
Le service ne doit disposer que des accès réseau nécessaires à sa tâche. Restrictions de protocole et de destination, redirections contrôlées et droits réseau limités se complètent. HTTPS seul ne rend pas une destination autorisée. Le scénario explique la frontière de confiance ; il ne rapporte aucune récupération ni aucun test de sécurité exécutés.
Sources
Termes associés
- APIUne API définit comment un logiciel peut utiliser les fonctions ou données proposées par un autre logiciel.
- BackendLe backend traite les règles et données côté serveur. Il ne se limite ni à la base de données ni à un écran d’administration.
- WebhookUn webhook envoie une notification HTTP à un autre système lorsqu’un événement défini se produit.
- Minimisation des donnéesLa minimisation limite les données personnelles à ce qui est adéquat, pertinent et nécessaire pour une finalité définie.
- Politique de conservation des donnéesUne politique de conservation définit finalité, début, durée et fin du stockage. Tâches de suppression et copies exigent une prise en compte technique.
- Chiffrement par enveloppeLe chiffrement par enveloppe sépare la clé des données de celle qui la protège. Le fichier chiffré et sa clé enveloppée doivent être gérés ensemble.
Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.