Root Buffer Overflow คืออะไร


1

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

นอกจากนี้ฉันพบคำจำกัดความนี้ "รูทบัฟเฟอร์มากเกินไปเป็นบัฟเฟอร์โอเวอร์โฟลว์ที่มีจุดประสงค์เพื่อให้ได้สิทธิพิเศษรูทกับระบบ"

ตอนนี้คำถามของฉันคือ

  1. กระบวนการของผู้ใช้มาในพื้นที่ระบบของหน่วยความจำได้อย่างไร ระบบปฏิบัติการไม่สามารถป้องกันตัวเองหรือพื้นที่หน่วยความจำได้หรือไม่? หรือฉันอาจเข้าใจผิด
  2. รูทบัฟเฟอร์ล้นมาเป็นสาเหตุให้กระบวนการบรรลุสิทธิพิเศษรูตไปยังระบบได้อย่างไร เพราะเป็นความรู้ของฉันไปคุณจะต้องดำเนินการคำสั่งเช่นsuหรือsudoหรือบางอย่างแล้วให้รหัสผ่านที่ศักดิ์สิทธิ์ในการสั่งซื้อเพื่อให้บรรลุนี้

ใช่ฉันมีอยู่แล้วดูที่นี้คำถามและคำตอบที่ดี

คำตอบ:


2
  1. ไม่ได้เขียนลงใน "พื้นที่ระบบ" ของหน่วยความจำ มันยังอยู่ในพื้นที่หน่วยความจำของกระบวนการผู้ใช้ สิ่งที่ผู้โจมตีมักจะพยายามเขียนลงในหน่วยความจำผู้ใช้คือ "shellcode" ซึ่งจะทำให้เขาได้รับคำสั่งในระบบ สำหรับกระบวนการที่ไม่ใช่รูทนี่จะเป็นเชลล์ที่ไม่ใช่รูท อย่างไรก็ตามกระสุนดังกล่าวยังคงมีประโยชน์เป็นพื้นฐานในการโจมตีต่อไป ตัวอย่างเช่นบางครั้งมีข้อบกพร่องเคอร์เนลที่อนุญาตให้ผู้ใช้ท้องถิ่นเพื่อรับสิทธิ์รูต ในกรณีนั้นเปลือกปกติเป็นหินสเต็ปปิ้งโดยตรงไปยังรูทเชลล์
  2. คำว่า "รูตบัฟเฟอร์ล้น" ของคุณน่าจะหมายถึงการโจมตีบัฟเฟอร์โอเวอร์โฟลว์ในโปรแกรมที่ทำงานเป็นรูท ในกรณีนั้นการโจมตีที่สำเร็จจะช่วยให้คุณไม่ได้เป็นเพียงแค่เปลือกหอย แต่เป็นรูทเชลล์

2
รูทบัฟเฟอร์มากเกิน = บัฟเฟอร์มากเกินที่สามารถใช้ประโยชน์เพื่อให้ได้รับสิทธิ์การเลื่อนระดับเป็นรูท lpr มีบางคนที่น่ารังเกียจกลับมาเมื่อ
Fiasco Labs
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.