web-dev-qa-db-fra.com

Les nonces sont-elles inutiles?

C’est probablement une question de noob MAIS écoutez-moi, n’est-ce pas l’intérêt d’utiliser Nonce pour se protéger contre des choses comme les scrappers (scpppl, etc.)? Mais mon Nonce imprime dans la tête du document comme suit:

/* <![CDATA[ */
var nc_ajax_getpost = {
    ...stuff...
    getpostNonce: "8a3318a44c"
};
/* ]]> */

Donc, si je construisais un scrapper rapide, j'obtiendrais simplement la valeur de nonce de cette page, puis je l'utilisais dans mon POST ... rendant tout l'exercice d'utilisation d'un nonce inutile ...

Qu'est-ce que j'oublie ici?

10
Adrian

Les nonces sont uniques pour chaque utilisateur connecté. Vous ne pouvez pas gratter les utilisateurs d'un utilisateur connecté à moins d'avoir leurs cookies. Mais si vous avez les cookies d'un utilisateur, vous avez déjà volé leur identité et pouvez faire ce que vous voulez.

Les nonces ont pour but de protéger les utilisateurs contre le fait qu'ils sont incités à faire quelque chose qu'ils ne voulaient pas faire, en cliquant sur un lien ou en soumettant un formulaire. Ainsi, ils effectuent eux-mêmes cette action (involontairement) et non l'attaquant.

14
scribu

http://en.wikipedia.org/wiki/Cryptographic_nonce

"En ingénierie de la sécurité, nonce est un nombre arbitraire utilisé une seule fois pour signer une communication cryptographique. Il s’agit souvent d’un protocole aléatoire ... d’authentification qui garantit que les anciennes communications ne peuvent pas être réutilisées dans des attaques par relecture."

L'idée est de mettre fin à l'envoi de données répétées. Vous créez un identifiant unique à usage unique personnel, de sorte que lorsque vous soumettez des données, cela ne peut être fait qu'une seule fois. Cela n'a rien à voir avec la navigation sur votre site. Quel est ce que le site raclage fait. Comment feriez-vous la différence entre un robot de raclage et un robot de chalutage (comme Google)?

2
TCBarrett