Buffer overflow -> Stack overflow Stack (Pile) ------------- Var locale mywonderfulfunction i ----> ESP buffer ------------- old value ----> EBP (maintenant Z ?) ------------- adresse de retour (maintenant Z ?) Z pourrait être égale à "\xeb\x1f\x5e" void shellcode() { char *c = "/bin/sh"; execl(s, s, 0xff ^ 0xff); } -> gcc -g -> gdb tst -> disassemble shellcode Heap overflow (existe aussi mais plus difficile)