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 :
<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>
É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:
-
-
-
-
csrform, Outil d'aide à l'exploitation de failles de type CSRF