ナンスは役に立たないのですか?


11

これはおそらくnoobの質問ですが、私に聞いてください。Nonceを使用してスクラッパー(phpcurlスクラッパーなど)などから保護することは重要ではありませんか?しかし、私のNonceは次のようにドキュメントの先頭に出力します。

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

だから私が迅速なスクレイパーを構築しているなら、そのページからナンス値を取得し、それを私のPOSTで使用するだけです...

ここで何が欠けていますか?


2
ナンスはあなたからそのアイデアを持っていたコンテンツスクレイピング、とは何の関係もない..?
Rarst

Kだから、そのときはありふれた例を使ってみよう。セキュリティ関連の攻撃を防ぐためにナンスが使用されています...公開されているため、攻撃者はWebサイトからナンスを取得できます... wtf?
エイドリアン

1
これをnonceに関するより一般的な質問に言い換えることはおそらく意味があります。コメントには多すぎ、スクレイピングに関する最初の表現は適用されません。
Rarst、2011年

回答:


16

ナンスは、ログインしている各ユーザーに固有です。Cookieがない限り、ログインしているユーザーのナンスをこすることはできません。しかし、ユーザーのCookieを持っている場合は、すでにユーザーのIDを盗んでいて、何でも好きなことができます。

Noncesは、リンクをクリックするかフォームを送信することによって、ユーザーが意図しないことをするようにだまされるのを防ぐことを目的としています。したがって、攻撃者ではなく、彼ら自身が(意図せずに)このアクションを実行します。


2

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

「セキュリティエンジニアリングでは、nonceは暗号通信に署名するために1回だけ使用される任意の数です。...多くの場合、ランダムな認証プロトコルであり、古い通信をリプレイ攻撃で再利用できないようにします。」

繰り返しデータの送信を停止するのが目的です。個人用の使い捨ての一意の識別子を作成して、データを送信するときに一度だけ実行できるようにします。それはあなたのサイトを閲覧することとは何の関係もありません。これは、サイトスクレイピングが行うことです。スクレイピングボットとトローリングボット(Googleなど)をどのように区別しますか?


9
(紛らわしいことに)WordPressのナンスは2回以上使用しても問題ないことに注意してください。したがって、繰り返し送信することとは何の関係もありません。特定のユーザーが特定のオブジェクトに対して特定のアクションを実行する意図を確認することです。
Rarst

3
@Rarst-nonceの再利用に関する優れた点、そして残念なことに、ソースコードとcodex自体のコメントは、それが1回限りの使用のみのキーであることを示しています。 codex.wordpress.org/Function_Reference/wp_create_nonce-これらの数値が2回以上検証されないことを想定して機能を開発する場合、これは面倒です。:(
マーカス・ポープ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.