Saya ingin melakukan beberapa percobaan dengan buffer overflows di berbagai mesin virtual saya, termasuk (tetapi tidak terbatas pada) Debian 6, Ubuntu 12.04, Fedora 16, tetapi setiap kali saya mencoba untuk mengeksploitasi buffer overflow exploit saya mendapatkan pesan berikut:
stack smashing detected (core dumped)
Setelah melakukan penelitian saya, saya membaca bahwa itu adalah fitur yang disebut perlindungan buffer overflow diimplementasikan dalam kompiler. GCC misalnya menggunakan GCC Stack-Smashing Protector (ProPolice) , Dentang / LLVM menggunakan dua detektor buffer overflow, SafeCode dan AddressSanitizer .
Pertanyaan saya adalah: Karena saya benar-benar ingin memeriksa serangan buffer overflow pada komputer saya apakah ada cara (flag compiler, mungkin? File konfigurasi linux?) Untuk menonaktifkan perlindungan buffer overflow?
__stack_chk_fail
(misalnya,strings /bin/mybinary | grep __stack_chk_fail
-fno-stack-protector-all
tidak dikenali (-fstack-protector
,-fstack-protector-all
dan-fno-stack-protector
dikenali)gcc: error: unrecognized command line option ‘-fno-stack-protector-all’; did you mean ‘-fstack-protector-all’?