คำถามติดแท็ก buffers

9
เหตุใดจึงยากที่จะทำให้ C มีแนวโน้มน้อยลงในการบัฟเฟอร์ล้น?
ฉันกำลังทำหลักสูตรอยู่ในวิทยาลัยที่หนึ่งในห้องปฏิบัติการคือการใช้ประโยชน์จากบัฟเฟอร์โอเวอร์โฟลว์บนโค้ดที่พวกเขาให้เรา ช่วงนี้จากการหาประโยชน์ง่าย ๆ เช่นการเปลี่ยนที่อยู่ผู้ส่งคืนสำหรับฟังก์ชั่นในสแต็คเพื่อกลับไปที่ฟังก์ชั่นที่แตกต่างกันไปจนถึงรหัสที่เปลี่ยนสถานะการลงทะเบียน / หน่วยความจำของโปรแกรม ฟังก์ชั่นที่คุณเรียกว่าหลงลืมไปอย่างสิ้นเชิง ฉันได้ทำการวิจัยเกี่ยวกับเรื่องนี้และการใช้ประโยชน์จากการใช้ประโยชน์เหล่านี้ยังมีอยู่ทุกหนทุกแห่งแม้กระทั่งตอนนี้ในสิ่งต่าง ๆ เช่นการใช้ homebrew บน Wiiและการเจลเบรคที่ไม่มีการผูกมัดสำหรับ iOS 4.3.1 คำถามของฉันคือเหตุใดปัญหานี้จึงแก้ไขได้ยาก เห็นได้ชัดว่านี่เป็นช่องโหว่ที่สำคัญที่ใช้ในการแฮ็คหลายร้อยสิ่ง แต่ดูเหมือนว่ามันจะง่ายต่อการแก้ไขโดยการตัดทอนข้อมูลใด ๆ ที่ผ่านมาตามความยาวที่อนุญาตและกำจัดข้อมูลทั้งหมดที่คุณทำ แก้ไข: มุมมองอื่นที่ฉันต้องการคำตอบที่จะต้องพิจารณา - ทำไมผู้สร้างของ C ไม่สามารถแก้ไขปัญหาเหล่านี้ได้โดยการปรับใช้ห้องสมุดใหม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.