====== 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 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. ==== 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: * [[wpfr>CSRF]] sur Wikipedia fr * [[/glossaire/XSS|Cross Site Scripting (XSS)]] * [[/glossaire/XST|Cross site tracing (XST)]] * [[/glossaire/CSP|Content Security Policy (CSP)]] * [[/glossaire/HPP|HTTP Parameter Pollution (HPP)]] * [[http://code.google.com/p/csrform/|csrform]], Outil d'aide à l'exploitation de failles de type CSRF