Nonces ไร้ประโยชน์หรือไม่?


11

อาจเป็นคำถาม noob แต่ได้ยินฉันออก - ไม่ใช่จุดของการใช้ Nonce เพื่อป้องกันจากสิ่งต่าง ๆ เช่น scrappers (phpcurl scrappers ฯลฯ )? แต่ Nonce ของฉันพิมพ์ออกมาในหัวของเอกสารดังนี้:

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

ดังนั้นถ้าฉันสร้าง scrapper อย่างรวดเร็วฉันก็จะได้ค่า nonce จากหน้านั้นแล้วใช้มันใน POST ของฉัน ... ทำให้การออกกำลังกายทั้งหมดของการใช้ Nonce ไร้ประโยชน์ ...

ฉันหายไปนี่อะไร


2
Nonces ไม่มีส่วนเกี่ยวข้องกับการคัดลอกเนื้อหาคุณมีความคิดเช่นนั้นมาจากไหน ..
Rarst

K ดังนั้นขอผมใช้ตัวอย่างที่หมดแล้ว Nonce ถูกใช้เพื่อป้องกันการโจมตีที่เกี่ยวข้องกับความปลอดภัย ... ผู้โจมตียังคงสามารถรับ nonce จากเว็บไซต์ได้เนื่องจากมันถูกแสดงต่อสาธารณะ ... wtf?
Adrian

1
มันอาจจะเหมาะสมสำหรับคุณที่จะเรียบเรียงคำถามนี้ใหม่เป็นคำถามทั่วไปเกี่ยวกับการไม่อ่าน วิธีมากเกินไปสำหรับความคิดเห็นและข้อความเริ่มต้นของคุณเกี่ยวกับการขูดไม่ได้นำมาใช้
Rarst

คำตอบ:


16

Nonces ไม่ซ้ำกันสำหรับผู้ใช้ที่ล็อกอินแต่ละคน คุณไม่สามารถขูดขีดความสามารถของผู้ใช้ที่เข้าสู่ระบบเว้นแต่ว่าคุณมีคุกกี้ของพวกเขา แต่ถ้าคุณมีคุกกี้ของผู้ใช้คุณได้ขโมยข้อมูลประจำตัวของพวกเขาและสามารถทำสิ่งที่คุณต้องการ

Nonces มีไว้เพื่อป้องกันผู้ใช้ที่ถูกหลอกให้ทำสิ่งที่ไม่ได้ตั้งใจทำโดยคลิกที่ลิงค์หรือส่งแบบฟอร์ม ดังนั้นพวกเขาเองทำสิ่งนี้ (โดยไม่ได้ตั้งใจ) ไม่ใช่ผู้โจมตี


2

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

"ในวิศวกรรมความปลอดภัย nonce เป็นหมายเลขที่ใช้โดยอ้อมเพียงครั้งเดียวเพื่อลงนามในการสื่อสารการเข้ารหัสลับ ... มันมักจะเป็นแบบสุ่ม ... โปรโตคอลการตรวจสอบความถูกต้องแบบสุ่มเพื่อให้แน่ใจว่าการสื่อสารเก่าไม่สามารถนำมาใช้ซ้ำได้

แนวคิดคือหยุดการส่งข้อมูลซ้ำ คุณสร้างตัวระบุที่ไม่ซ้ำใครแบบส่วนบุคคลให้คุณเพื่อที่ว่าเมื่อคุณส่งข้อมูลจะสามารถทำได้เพียงครั้งเดียวเท่านั้น ไม่มีส่วนเกี่ยวข้องกับการเรียกดูไซต์ของคุณ การขูดไซต์ทำอะไร คุณจะแยกความแตกต่างระหว่างบอทขูดและบอทแทร็กลิ่ง (เช่น Google) ได้อย่างไร


9
ฉันต้องทราบว่าเวิร์ดเพรส (สับสน) สามารถใช้มากกว่าหนึ่งครั้งได้ดี ดังนั้นจึงไม่มีอะไรเกี่ยวข้องกับการส่งซ้ำ ๆ อย่างใดอย่างหนึ่งมันเกี่ยวกับการตรวจสอบความตั้งใจของผู้ใช้ที่เฉพาะเจาะจงที่ดำเนินการเฉพาะกับวัตถุที่เฉพาะเจาะจง
Rarst

3
@Rarst - จุดที่ยอดเยี่ยมเกี่ยวกับการใช้ซ้ำ nonce และแสดงความคิดเห็นในซอร์สโค้ดและ codex เองระบุว่ามันเป็นครั้งเดียวใช้คีย์เท่านั้น codex.wordpress.org/Function_Reference/wp_create_nonce - ไหนครับเมื่อคุณพัฒนาคุณลักษณะที่สมมติว่าตัวเลขเหล่านี้จะไม่ตรวจสอบมากกว่าหนึ่งครั้ง :(
Marcus Pope
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.