Ce type d'attaque consiste simplement à faire exécuter à une victime une requête HTTP à son insu. Le but est de faire aller notre victime sur une page pour qu'il exécute les actions de la page, avec ses privilèges (généralement plus élevés que les nôtres).
Essai Gratuit 14 Jours
Sans Engagement
Dans le monde réel, une attaque CSRF serait quelqu’un de malintentionné qui ajoute un article dans votre caddie lorsque vous faites vos courses en supermarché. L’hôtesse de caisse scanne le produit sans savoir qu’il ne vous appartient pas. Si l’attaque n’est pas détectée, vous allez payer l’article en question.
Imaginons que nous sommes sur un blog et que nous souhaitons supprimer un article. Le problème c’est que nous ne sommes pas administrateur de ce blog, cela signifie que nous n’avons pas les droits nécessaires à la suppression de ce fameux article.
En revanche nous connaissons l’URL utilisée par l’administration pour faire une suppression d’article : www.monsite.com/article.php?id=154&action=delete
Bien entendu nous ne pouvons pas saisir directement cette URL car le système vérifie les droits avant d’exécuter toutes actions. L’idée est de trouver un moyen de se rendre sur cette URL en tant qu’administrateur. Pour cela deux possibilités s’offrent à nous : Utiliser une faille XSS pour subtiliser les cookies de l'administrateur et se connecter ou utiliser un CSRF pour le rediriger vers cette page, et ainsi lui faire supprimer l’article sans qu’il ne le sache.
Pour faire exécuter cette requête HTTP par l’administrateur du blog on peut, par exemple, lui envoyer un lien vers un site frauduleux qui contiendra du code caché. On peut imaginer que sur cette page, il y ait un image et que la source de cette dernière soit le lien de suppression de l’article :
<img src=“www.monsite.com/article.php?id=154&action=delete” height=“0” width=“0”>
A l’ouverture de la page le code sera exécuté.
Pour se protéger de cette attaque, il faut utiliser des jetons qui seront envoyés en plus des autres paramètres. Ces jetons à usage unique permettent de vérifier les actions et rendent impossible le fait de prédire une URL. Par exemple, ici il aurait fallu rajouter un paramètre à l’URL : www.monsite.com/article.php?id=154&action=delete&token=34zm17o1aphj64
Détectez les failles de sécurité de votre site ou application web grâce au Scanner de Vulnérabilité HTTPCS Security. Cet outil en ligne permet de détecter les failles du top 10 OWASP mais également les CVE et autres failles implémentées dans le robot pour assurer une protection optimale de votre site au quotidien. Programmez facilement des audits automatisés, découvrez vos failles ainsi que les correctifs à appliquer pour éviter d’être piraté.
Essai Gratuit 14 Jours
Sans Engagement