As Nonces são inúteis?

10

Esta é provavelmente uma questão noob, mas me ouça - não é o objetivo de usar Nonce para proteger de coisas como scrappers (phpcurl scrappers etc.)? Mas meu Nonce é impresso na cabeça do documento assim:

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

Então, se eu estava criando um scrapper rápido, eu pegaria o valor de nonce dessa página e o usaria no POST ... fazendo todo o exercício de usar um Nonce inútil ...

O que estou perdendo aqui?

    
por Adrian 28.10.2011 / 23:46

2 respostas

14

Nonces são exclusivos para cada usuário logado. Você não pode raspar os objetos de um usuário logado a menos que tenha seus cookies. Mas se você tiver cookies de um usuário, você já roubou sua identidade e pode fazer o que quiser.

Nonces são feitos para proteger contra usuários que são induzidos a fazer algo que não pretendem fazer, clicando em um link ou enviando um formulário. Então eles mesmos executam essa ação (não intencionalmente), não o atacante.

    
por scribu 29.10.2011 / 00:46
2

enlace

"Na engenharia de segurança, o nonce é um número arbitrário usado apenas uma vez para assinar uma comunicação criptográfica. É freqüentemente um protocolo de autenticação aleatório para garantir que as comunicações antigas não possam ser reutilizadas em ataques de replay." p>

A ideia é parar o envio de dados repetidos. Você cria um identificador exclusivo de uso único pessoal para que, quando enviar dados, isso só possa ser feito uma vez. Não tem nada a ver com a navegação no seu site. Qual é o que o site scraping faz. Como você diferenciaria entre um bot de raspagem e um bot de arrasto (como o Google)?

    
por TCBarrett 01.11.2011 / 19:40