Contrefaçon de requête côté serveur

Contrefaçon de requête côté serveur

Faites en sorte que le serveur récupère ce que vous ne pouvez pas atteindre vous-même.

Qu'est-ce que Contrefaçon de requête côté serveur?

L'application récupère une URL fournie par un utilisateur et personne ne vérifie où elle pointe. Cette requête part de votre propre réseau, l'attaquant hérite donc de la position du serveur. Vous dirigerez une fonctionnalité d'aperçu de lien vers le service de métadonnées cloud sur son adresse de lien local fixe, relirez les informations d'identification du rôle attaché à l'instance et répertorierez avec elles un magasin rempli de factures clients. Ensuite, vous résolvez l'hôte et refusez les plages privées, de bouclage et de lien local, en revérifiant après les redirections, avec les métadonnées requises par le jeton (IMDSv2) et les rôles de moindre privilège en dessous.

Ce que vous apprendrez dans Contrefaçon de requête côté serveur

Contrefaçon de requête côté serveur — Étapes de la formation

  1. La fonctionnalité d'aperçu

    Corveil permet à n'importe qui de coller un lien et de récupérer une carte d'aperçu bien rangée, le titre de la page et l'image, prêts à être insérés dans un message. L'aperçu n'est pas intégré au navigateur : les propres serveurs de Corveil récupèrent le lien. Bob ouvre la fonctionnalité pour voir comment elle fonctionne avant de la toucher.

  2. D'où vient la demande

    Un détail sur cette page est la seule raison pour laquelle Bob est intéressé.

  3. Utilisez la fonctionnalité

    Regardez la fonctionnalité se comporter normalement. Collez un article d'actualité ordinaire et générez un aperçu afin que la page fasse une véritable demande que Bob puisse inspecter.

  4. Trouver le point de terminaison

    La demande a été envoyée et le navigateur l'a enregistrée. Ouvrez le panneau Réseau et lisez où la page l'a réellement envoyé.

  5. Visez-le vers l'intérieur

    Bob rebuilds that request in the API Tester so he can point the url anywhere he likes. And the server will fetch whatever address he gives it, even ones he could never reach himself. Every cloud server has a metadata service at a fixed internal address that hands out the credentials of the role attached to that server. It is meant for the server's own use. On AWS, when the older token-less IMDSv1 is still allowed, as it is on Corveil's worker, it answers a plain GET without checking who is asking. Bob just needs Corveil's preview worker to reach it for him.

  6. Accéder au service de métadonnées

    Reconstruisez la demande d'aperçu dans API Tester, mais pointez le url vers le chemin des informations d'identification des métadonnées au lieu d'un article d'actualité. L'employé de Corveil le récupère à l'intérieur du réseau et restitue tout ce qu'il obtient.

  7. Diplômes en main

    La réponse n'est pas un aperçu. Il s'agit d'un ensemble d'informations d'identification en direct pour le rôle cloud du préposé à la prévisualisation.

  8. Signer une demande avec la clé volée

    Le stockage interne de Corveil fait confiance à une demande signée. Bob en signe un avec le AccessKeyId qu'il vient d'extraire du service de métadonnées et répertorie le compartiment contenant les factures des clients, un endroit qu'aucun utilisateur extérieur ne peut normalement atteindre.

  9. Les données ont disparu

    Noms, montants et identifiants de facture, plus de quarante mille dossiers clients, accessibles via une fonctionnalité destinée à prévisualiser un lien.

  10. Contrôle des connaissances

Couverture des référentiels de sécurité

OWASP Top 10

  • A01:2025 Broken Access Control
  • A10:2021 Server-Side Request Forgery (SSRF)

CWE

  • CWE-918 Server-Side Request Forgery (SSRF)

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security