glossaire:csrf
Table des matières
CSRF
Cross-Site Request Forgeries
Les attaques de type Cross-Site Request Forgeries (abrégées CSRF prononcées sea-surfing ou parfois XSRF) utilisent l'utilisateur comme déclencheur, celui-ci devient complice sans en être conscient. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés
Les caractéristiques du CSRF sont un type d'attaque qui :
- Implique un site qui repose sur l'authentification globale d'un utilisateur
- Exploite cette confiance dans l'authentification pour autoriser des actions implicitement
- Envoie des requêtes HTTP à l'insu de l'utilisateur qui est dupé pour déclencher ces actions
<note>Pour résumer, les sites sensibles au CSRF sont ceux qui acceptent les actions sur le simple fait de l'authentification à un instant donné de l'utilisateur et non sur une autorisation explicite de l'utilisateur pour une action donnée.</note>
Prévention
- Éviter d'utiliser des requêtes HTTP GET pour effectuer des actions: Cette technique va naturellement éliminer des attaques simples basées sur les images, mais laissera passer les attaques fondées sur Javascript, lesquelles sont capables de lancer des requêtes HTTP POST.
- Demander des confirmations à l'utilisateur pour les actions critiques: Au risque d'alourdir l'enchaînement des formulaires.
- Vérifier l'adresse url du script appelant (referrer): Au risque d'alourdir le développement des formulaires.
- Utiliser des jetons de validité dans les formulaires: Faire en sorte qu'un formulaire posté ne soit accepté que s'il a été produit quelques minutes auparavant : le jeton de validité en sera la preuve. Le jeton de validité doit être transmis en paramètre et vérifié côté serveur.
Voir:
glossaire/csrf.txt · Dernière modification : 25/09/2023 15:28 de cyrille