ข้ามไปยังเนื้อหา

ภาวะแข่งขันและการลักลอบส่งคำขอ ​

ภาวะแข่งขัน / ลักลอบส่งคำขอมีเครื่องมือเฉพาะทางสองชนิดสำหรับการโจมตี HTTP ที่อ่อนไหวต่อจังหวะเวลาและการโจมตีระดับโปรโตคอล

ภาวะแข่งขัน ​

แท็บภาวะแข่งขันส่งสำเนาคำขอหลายชุดไปยังเอนด์พอยต์เดียวกันพร้อมกัน และให้คุณเปรียบเทียบการตอบกลับกับเวลาของการทำงานที่ขนานกัน

เมื่อใดควรใช้ ​

  • TOCTOU (เวลาที่ตรวจสอบ/เวลาที่ใช้งาน): ทดสอบว่าคำขอที่ทำงานพร้อมกันสามารถแทรกคั่นระหว่างการตรวจสอบกับการดำเนินการที่เปลี่ยนสถานะได้หรือไม่
  • การจัดการบัญชีโดยมิชอบ: ส่งการเปลี่ยนยอดคงเหลือ การใช้คูปอง หรือการดำเนินการที่มีขีดจำกัดพร้อมกัน เพื่อทดสอบการใช้จ่ายซ้ำหรือการใช้สิทธิ์เกินจำนวนที่อนุญาต
  • การเลี่ยงข้อจำกัดการลงคะแนนหรืออัตราคำขอ: ยืนยันว่าข้อจำกัดต่อผู้ใช้ถูกบังคับใช้แบบอะตอมหรือไม่

การทดสอบภาวะแข่งขัน ​

  1. สร้างคำขอเป้าหมายในแท็บภาวะแข่งขัน หรือส่งคำขอไปยังแท็บนั้น
  2. ตั้งค่า จำนวนคำขอพร้อมกัน ซึ่งกำหนดจำนวนสำเนาที่จะส่งขนานกัน
  3. คลิก ส่งคำขอ สำเนาทั้งหมดจะส่งในเวลาที่ใกล้เคียงกันมากที่สุด
  4. ตรวจดูตารางการตอบกลับ ได้แก่ รหัสสถานะ เนื้อหา และเวลาที่ใช้ของแต่ละสำเนา
  5. ความแตกต่างระหว่างการตอบกลับ (รหัสสถานะต่างกัน เนื้อหาการตอบกลับต่างกัน หรือสำเร็จอย่างไม่คาดคิดในสำเนา 2+) บ่งชี้ถึงช่วงเวลาที่เกิดภาวะแข่งขันได้

การแข่งขันด้วยแพ็กเก็ตเดียวใน HTTP/2 ​

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

การลักลอบแทรกคำขอ HTTP ​

แท็บการลักลอบแทรกคำขอ HTTP ทดสอบวิธีที่เซิร์ฟเวอร์จัดการส่วนหัว Content-Length และ Transfer-Encoding ที่กำกวม เพื่อตรวจหาความไม่สอดคล้องกันระหว่างส่วนหน้าและส่วนหลัง

ที่มา ​

เมื่อพร็อกซีย้อนกลับกับเซิร์ฟเวอร์ส่วนหลังตีความต่างกันว่าคำขอหนึ่งสิ้นสุดและคำขอถัดไปเริ่มตรงไหน ส่วนต้นที่ลักลอบแทรกจากคำขอ A อาจถูกเพิ่มไว้ต้นคำขอ B ผลกระทบมีตั้งแต่การทำให้แคชปนเปื้อน ไปจนถึงการเลี่ยงการยืนยันตัวตนและการฉีดคำขอใดก็ได้

รูปแบบความไม่สอดคล้อง ​

รูปแบบคำอธิบาย
CL.TEส่วนหน้าใช้ Content-Length ส่วนหลังใช้ Transfer-Encoding
TE.CLส่วนหน้าใช้ Transfer-Encoding ส่วนหลังใช้ Content-Length
TE.TEทั้งสองส่วนใช้ Transfer-Encoding แต่ตอบสนองต่างกันต่อส่วนหัวที่ถูกอำพราง

การส่งคำขอทดสอบการลักลอบแทรก ​

  1. เลือกเอนด์พอยต์เป้าหมายในแท็บการลักลอบแทรกคำขอ HTTP
  2. เลือกรูปแบบความไม่สอดคล้องที่ต้องการทดสอบ
  3. คลิก เริ่มทดสอบการลักลอบแทรกคำขอ เครื่องมือส่งคำขอที่สร้างขึ้นโดยเฉพาะและวัดการตอบกลับ
  4. การหมดเวลารอหรือการตอบกลับที่ไม่คาดคิดในคำขอที่สองของลำดับ บ่งชี้ว่าอาจเกิดความไม่สอดคล้อง
  5. ยืนยันด้วยตนเองก่อนสร้างประเด็นที่ตรวจพบ ผลบวกลวงอาจเกิดขึ้นเมื่อสภาพเครือข่ายทำให้หมดเวลารอโดยไม่เกี่ยวกับคำขอทดสอบ

ซอฟต์แวร์กรรมสิทธิ์ สงวนลิขสิทธิ์