Nonces는 쓸모 없습니까?


11

이것은 아마도 멍청한 질문 일 것입니다.하지만 스크랩 퍼 (phpcurl 스크레이퍼 등)를 보호하기 위해 Nonce를 사용하는 것이 중요하지 않습니까? 그러나 Nonce는 문서 헤드에 다음과 같이 인쇄됩니다.

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

따라서 빠른 스크레이퍼를 구축하는 경우 해당 페이지에서 nonce 값을 얻은 다음 POST에서 사용합니다 ... Nonce를 사용하는 전체 연습을 쓸모 없게 만듭니다 ...

내가 여기서 무엇을 놓치고 있습니까?


2
농사는 콘텐츠 스크래핑과 아무 관련이 없습니다. 어디에서 아이디어를 얻었습니까? ..
Rarst

K : 그런 다음 간단한 예제를 사용하겠습니다. Nonce는 보안 관련 공격을 막기 위해 사용됩니다 ... 공격자는 공개적으로 표시되므로 웹 사이트에서 nonce를 얻을 수 있습니다 ... wtf?
Adrian

1
nonce에 대한 일반적인 질문으로 이것을 바꾸는 것이 합리적 일 것입니다. 댓글이 너무 많거나 스크래핑에 대한 초기 문구는 적용되지 않습니다.
Rarst

답변:


16

논 스는 각 로그인 한 사용자마다 고유합니다. 쿠키가 없으면 로그인 한 사용자의 넌스를 긁을 수 없습니다. 그러나 사용자의 쿠키가 있다면 이미 쿠키를 도난당한 것이므로 원하는 모든 것을 할 수 있습니다.

논 스는 사용자가 링크를 클릭하거나 양식을 제출하여 원하지 않는 일을하도록 속이는 것을 막기위한 것입니다. 따라서 공격자는 자신이 의도하지 않게이 작업을 수행합니다.


2

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

"보안 엔지니어링에서 nonce는 암호화 통신에 서명하기 위해 한 번만 사용되는 임의의 숫자입니다. ... 종종 오래된 통신을 재생 공격에서 재사용 할 수 없도록하는 임의의 ... 인증 프로토콜입니다."

아이디어는 반복 데이터 제출을 중지하는 것입니다. 데이터를 제출할 때 한 번만 수행 할 수 있도록 개인용 일회용 고유 식별자를 작성합니다. 사이트 탐색과는 아무런 관련이 없습니다. 사이트 스크래핑이 수행하는 작업은 다음과 같습니다. 스크래핑 봇과 트롤링 봇 (예 : Google)을 어떻게 구분 하시겠습니까?


9
(혼란스럽게도) WordPress nonces는 두 번 이상 사용할 수 있습니다. 따라서 반복 제출과 관련이 없으며 특정 객체에 대해 특정 작업을 수행하는 특정 사용자의 의도를 확인하는 것입니다.
Rarst

3
@Rarst-nonce 재사용에 대한 훌륭한 요점, 슬프게도 소스 코드와 코덱 자체의 주석은 한 번만 사용하는 키임을 나타냅니다. codex.wordpress.org/Function_Reference/wp_create_nonce- 숫자를 두 번 이상 검증하지 않는다고 가정하여 기능을 개발할 때 짜증이납니다 . :(
Marcus 교황
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.