Détournement de clics
Un vrai clic, sur un bouton que la page ne vous a jamais montré.
Qu'est-ce que Détournement de clics?
Le détournement de clic emprunte un clic plutôt que d’en voler un. Un attaquant encadre votre page dans une iframe transparente, positionne un bouton d'apparence inoffensive sur votre contrôle Approuver, et le clic de la victime passe directement à l'objet réel. Le clic et la session sont tous deux authentiques, le serveur ne peut donc pas le savoir. Vous allez créer la superposition et approuver un paiement que personne n'est censé effectuer, puis corriger le gestionnaire avec Content-Security-Policy: frame-ancestors 'none' , en conservant X-Frame-Options: DENY comme solution de secours héritée.
Ce que vous apprendrez dans Détournement de clics
- Reconnaître le détournement de clic comme une attaque de réparation de l'interface utilisateur, le clic est réel et l'utilisateur l'a autorisé ; le contexte visuel dans lequel ils pensaient cliquer était un mensonge
- Appliquer <code>Content-Security-Policy: frame-ancestors 'none'</code> (ou l'ancien <code>X-Frame-Options: DENY</code>) à chaque réponse de changement d'état
- Comprenez que l'application côté navigateur est intentionnelle, le serveur ne peut pas détecter de manière fiable « cette requête me charge dans une iframe », mais le navigateur connaît le contexte d'intégration avec certitude.
- Associez l'en-tête par route à un middleware anti-framing global afin que le prochain formulaire de changement d'état soit livré avec la protection par défaut.
- Pour une intégration légitime (portail partenaire, tableau de bord interne), utilisez <code>frame-ancestors 'self'</code> ou une liste blanche explicite d'origines fiables, sans jamais autoriser tout.
Détournement de clics — Étapes de la formation
-
Bob ne peut pas déplacer l'argent lui-même
Bob ne peut pas accéder au compte bancaire d'un étranger. Mais Tideline Bank permet à n'importe quel client de demander un paiement à un autre, et l'argent n'est transféré qu'après que le titulaire du compte a approuvé la demande. Sa cible aujourd'hui est une cliente de Tideline Bank, Alice. Il commence sur la page de demande de la banque.
-
Etape la demande de paiement
Connecté à un compte mule nommé Coastal Marketing LLC , Bob dépose une demande pour extraire $2,500 du compte d'Alice. Il saisit son email et le montant.
-
Poser le piège
La demande se trouve désormais dans le compte d'Alice, attendant qu'elle appuie sur Approve . Elle ne le ferait jamais, sciemment. Alors Bob crée un cadeau de café gratuit et cache son propre bouton Approuver directement sous le bouton de café. Tuis il lui envoie le cadeau par e-mail et attend un simple clic.
-
Un e-mail de café gratuit
En dehors des heures normales, Alice reçoit un e-mail joyeux : un café gratuit, un clic pour le réclamer. Rien ne demande un mot de passe. Cela semble totalement inoffensif.
-
Réclamez le café
Alice clique sur le lien pour réclamer son café gratuit.
-
Un clic
La page des cadeaux s'ouvre : un bouton convivial offrant un café gratuit. Alice clique dessus. Rien qu'elle puisse voir ne change. La page du café reste là.
-
L'argent quitte le compte
Quelques secondes plus tard, une alerte à la fraude arrive. Un paiement $2,500 qu'elle n'a jamais sciemment approuvé a quitté son compte.
-
Voyez ce que le clic a fait
Alice remonte la page du cadeau. En tant qu'ingénieur en sécurité, elle souhaite savoir sur quoi son clic a réellement abouti. Elle fait glisser un contrôle de révélation pour faire apparaître en fondu tout ce qui se trouve sur le bouton café.
-
Nommer l'attaque
Avant de toucher à un code, soyez précis sur ce qui vient de se passer.
-
Ouvrir le gestionnaire d'approbation
Alice passe de victime à ingénieur. La page d'approbation est produite par le service de demande de paiement. Elle ouvre le gestionnaire pour découvrir pourquoi il peut être chargé sur le site d'un inconnu.
Couverture des référentiels de sécurité
OWASP Top 10
- A02:2025 Security Misconfiguration
- A05:2021 Security Misconfiguration
CWE
- CWE-1021 Improper Restriction of Rendered UI Layers or Frames
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