J'ai lu plusieurs solutions XSRF qui reposent sur l'ajout de plus de jetons à la réponse, ce qui aide à protéger le code qui s'exécute uniquement sur POST.Des trous de boucle logique dans cette idée pour empêcher Cross Site Request Forgery?
-à-dire que ce serait une attaque d'une étape reposant sur une page qui répond à HTTP GET
<img src="http://amazon.com/buybook/anarchistscookbook/mailto/me/execute.php">
Mais avec de meilleures bibliothèques comme jquery, ça devient plus facile d'écrire des scripts XMLHttpRequest javascript malicieux, qui peut faire deux étape d'attaque (un GET, analyser l'anti-XSRF viewstate/chaîne de requête/cookie supplémentaire etc), puis soumettre un POST. (Ou est-ce que je ne crains pas que AES soit craqué de sitôt, devrais-je même m'inquiéter des attaques XSRF en 2 étapes ciblant les actions HTTP POST devenant aussi faciles que l'attaque par tag img montrée ci-dessus?)
Je suppose l'attaque en une étape peut être tranférée en ne faisant rien de sensible sur GET, les deux types d'attaques peuvent être partagées en demandant à l'utilisateur du site de résoudre un CAPTCHA, qui génère alors un jeton de chaîne de requête qui serait requis pour toutes les URL de la session? Jusqu'à présent, il semble que cela échouerait seulement lorsque CAPTCHA échoue, comme si le logiciel OCR pouvait lire le texte ou s'il y avait un composant mécanique turc.
EDIT: L'attaque particulière à l'esprit est un e-mail avec xhr javascript ou tag d'image. Le code serait donc exécuté dans le navigateur du client de messagerie ou à partir d'une page HTML chargée depuis le système de fichiers local. Pour des raisons de simplicité, j'imagine que le site n'a pas de vulnérabilités XSS (c'est-à-dire aucune possibilité pour les utilisateurs malveillants d'injecter leur code HTML dans le HTML que le site envoie comme réponses)
Hmm, intéressant. Votre référence à HTTPOnly double cookies soumis, non? A propos de XSS, vrai, mais vous n'avez pas besoin de XSS pour retirer un XSRF? L'exemple classique est un e-mail avec JavaScript pour les POST ou un tag d'image pour les GET. – MatthewMartin
Si un site ne tente pas d'atténuer XSRF, alors oui, un méchant n'aura pas besoin de XSS pour l'exploiter. La défense typique contre XSRF consiste à utiliser un jeton unique, sous une forme ou un cookie. Cette défense est généralement nulle si le site en question a une vulnérabilité XSS. – EricLaw