Coba jelasin Contoh dari Luapan penyangga dong

Dalam contoh berikut yang ditulis dalam C, program ini memiliki dua variabel yang berdekatan dalam memori: penyangga 8 bita, A, dan dua bita integer big-endian, B. Awalnya, A tidak berisi apa-apa kecuali nol bita, dan B berisi angka 1979.

Sekarang, program ini mencoba untuk menyimpan string berakhir dengan nol  dengan ASCII yang dienkode dalam penyangga A. adalah 9 karakter dan mengenkode 10 bita termasuk terminator null, tetapi hanya dapat mengambil 8 bita. Karena gagal memeriksa panjang dari string, ia juga akan menimpa nilai B:

Nilai B kini telah secara tidak sengaja diganti dengan nomor yang dibentuk dari bagian dari karakter string. Dalam contoh ini "e" diikuti dengan byte nol akan menjadi 25856.

Menulis data setelah alokasi akhir dalam memori kadang-kadang dideteksi oleh sistem operasi dan menghasilkan segmentasi kesalahan yang mengakhiri proses tersebut.

Chapter 12: Writing Exploits III from Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals by James C. Foster (). Detailed explanation of how to use Metasploit to develop a buffer overflow exploit from scratch.

Computer Security Technology Planning Study, James P. Anderson, ESD-TR-73-51, ESD/AFSC, Hanscom AFB, Bedford, MA 01731 (October 1972) [NTIS AD-758 206]

"Buffer Overflows: Anatomy of an Exploit"  by Nevermore

Secure Programming with GCC and GLibc  (2008), by Marcel Holtmann