Le Cross-Site Request Forgery (CSRF) est une attaque où un attaquant force un utilisateur authentifié à effectuer des actions indésirables sur un site Web auquel il est connecté. L'attaque exploite le fait que le navigateur Web envoie automatiquement les cookies d'authentification (et donc les sessions actives) à un site Web, quel que soit l'origine de la demande.
Voici comment fonctionne généralement une attaque CSRF :
- L'attaquant crée une page Web malveillante contenant une requête HTTP (par exemple, une demande de transfert d'argent) vers le site Web cible, en utilisant l'URL appropriée et les paramètres nécessaires pour effectuer l'action souhaitée.
- L'attaquant incite la victime à visiter cette page malveillante, par exemple en envoyant un lien par e-mail, en le partageant sur les réseaux sociaux, ou en le dissimulant dans une page Web légitime.
- Lorsque la victime visite la page malveillante, son navigateur envoie automatiquement toutes les requêtes incluses dans cette page, y compris la requête malveillante, vers le site Web cible.
- Étant donné que la victime est authentifiée sur le site cible, les requêtes malveillantes sont traitées comme des actions légitimes, et l'attaque peut réussir.
Les attaques CSRF peuvent être utilisées pour effectuer diverses actions indésirables, telles que modifier des paramètres de compte, effectuer des transactions financières, supprimer des données, etc. Pour se protéger contre les attaques CSRF, les développeurs de sites Web peuvent mettre en œuvre des mesures de sécurité telles que l'utilisation de jetons anti-CSRF (tokens), la vérification de l'en-tête Referer, l'utilisation de cookies HttpOnly pour les sessions, et la conception de leurs applications de manière à éviter les actions sensibles via des requêtes HTTP GET.